import { web3, Program as AnchorProgram, AnchorProvider, Wallet, Idl } from "@project-serum/anchor"; import { Keypair, TransactionInstruction } from "@solana/web3.js"; import { Instruction } from "../instruction"; import { SendTransactionResult } from "../transaction/send"; export * from "./objectWrapper"; export declare namespace Program { interface ProgramConfig { asyncSigning: boolean; provider?: AnchorProvider; idl?: Idl | null; client?: AnchorProgram; } abstract class Program { instruction: Instruction; asyncSigning: boolean; static PREFIX: string; protected PROGRAM_ID: web3.PublicKey; get id(): web3.PublicKey; private _client; get client(): AnchorProgram; set client(client: AnchorProgram); sendWithRetry(instructions: Array, signers?: Array, options?: SendOptions): Promise; sendWithAsyncSigningAndRetry(instructions: Array, signers?: Array, options?: SendOptions): Promise; static getProgramWithConfig(type: { new (): T; }, config: ProgramConfig): Promise; static getProgramWithWallet(type: { new (): T; }, wallet: Wallet, env: string, customRpcUrl: string | undefined): Promise; static getProgramWithWalletKeyPair(type: { new (): T; }, walletKeyPair: web3.Keypair, env: string, customRpcUrl?: string): Promise; static getProgram(type: { new (): T; }, anchorWallet: Wallet | null, env: string, customRpcUrl: string | undefined, walletKeyPair?: web3.Keypair): Promise; } } export declare namespace ProgramHelpers { function getProgramWithConfig(type: { new (): T; }, config: Program.ProgramConfig): Promise; function getProgram(type: { new (): T; }, wallet: Wallet | null, env: string, customRpcUrl: string | undefined, walletKeyPair?: web3.Keypair): Promise; } export interface SendOptions { commitment: web3.Commitment; timeout?: number; } export declare class IDLNotFoundError extends Error { constructor(message: string); } //# sourceMappingURL=index.d.ts.map