/// import { PublicKey, TransactionInstruction, Account, Connection, Commitment } from "@solana/web3.js"; import { Wallet } from '.'; import BufferLayout from 'buffer-layout'; export declare abstract class BaseProgram { protected wallet: Wallet; programID: PublicKey; constructor(wallet: Wallet, programID: PublicKey); protected get conn(): Connection; protected get account(): Account; protected get pubkey(): PublicKey; protected sendTx(insts: TransactionInstruction[], signers?: Account[], commitment?: Commitment, timeout?: number): Promise; protected instructionEncode(layout: BufferLayout, data: any, authorities?: InstructionAuthority[]): TransactionInstruction; protected instruction(data: Buffer, authorities?: InstructionAuthority[]): TransactionInstruction; } export declare type InstructionAuthority = Account | Account[] | PublicKey[] | PublicKey | { write: PublicKey | Account; };