///
import { AccountInfo, AddressLookupTableAccount, Commitment, Connection, Keypair, PublicKey, Signer, Transaction, TransactionInstruction } from "@solana/web3.js";
export interface GetMultipleAccountsInfoConfig {
batchRequest?: boolean;
commitment?: Commitment;
}
export declare function getMultipleAccountsInfo(connection: Connection, publicKeys: PublicKey[], config?: GetMultipleAccountsInfoConfig): Promise<(AccountInfo | null)[]>;
export declare function getMultipleAccountsInfoWithCustomFlags(connection: Connection, publicKeysWithCustomFlag: T[], config?: GetMultipleAccountsInfoConfig): Promise<({
accountInfo: AccountInfo | null;
} & T)[]>;
export interface GetTokenAccountsByOwnerConfig {
commitment?: Commitment;
}
/**
* Forecast transaction size
*/
export declare function forecastTransactionSize(instructions: TransactionInstruction[], signers: PublicKey[]): boolean;
/**
* Simulates multiple instruction
*/
export declare function simulateMultipleInstruction(connection: Connection, instructions: TransactionInstruction[], keyword: string, batchRequest?: boolean): Promise;
export declare function parseSimulateLogToJson(log: string, keyword: string): string;
export declare function parseSimulateValue(log: string, key: string): string;
export declare function simulateTransaction(connection: Connection, transactions: Transaction[], batchRequest?: boolean): Promise;
export declare function splitTxAndSigners({ instructions, signers, payer }: {
instructions: TransactionInstruction[];
signers: (Signer | Keypair)[];
payer: PublicKey;
}): {
instruction: TransactionInstruction[];
signer: (Keypair | Signer)[];
}[];
export declare function getMultipleLookupTableInfo({ connection, address }: {
connection: Connection;
address: PublicKey[];
}): Promise;
//# sourceMappingURL=web3.d.ts.map