import type { CompilableTransactionMessage, Rpc, SimulateTransactionApi, Transaction } from "@solana/kit";
import type { Simplify } from "./../types/index";
export type SimulateTransactionFunction = (transaction: Transaction | CompilableTransactionMessage, config?: Simplify<Omit<Parameters<SimulateTransactionApi["simulateTransaction"]>[1], "encoding" | "sigVerify">>) => Promise<ReturnType<SimulateTransactionApi["simulateTransaction"]>>;
type SimulateTransactionFactoryConfig<TCluster> = {
    rpc: Rpc<SimulateTransactionApi> & {
        "~cluster"?: TCluster;
    };
};
export declare function simulateTransactionFactory({ rpc, }: SimulateTransactionFactoryConfig<"devnet">): SimulateTransactionFunction;
export declare function simulateTransactionFactory({ rpc, }: SimulateTransactionFactoryConfig<"testnet">): SimulateTransactionFunction;
export declare function simulateTransactionFactory({ rpc, }: SimulateTransactionFactoryConfig<"mainnet">): SimulateTransactionFunction;
export declare function simulateTransactionFactory({ rpc, }: SimulateTransactionFactoryConfig<"localnet">): SimulateTransactionFunction;
export {};
//# sourceMappingURL=simulate-transaction.d.ts.map