import { type Address, AnchorProvider } from "@coral-xyz/anchor";
import type { ConfirmOptions, Connection, PublicKey, Transaction, VersionedTransaction } from "@solana/web3.js";
export declare class ReadonlyProvider {
    readonly connection: Connection;
    readonly walletAddress?: PublicKey;
    constructor(connection: Connection, walletAddress?: Address);
}
export declare function createReadonlyProvider(connection: Connection, walletAddress?: Address): ReadonlyProvider;
/**
 * Wallet interface used by Anchor Framework
 */
export interface AnchorWallet {
    signTransaction: <T extends Transaction | VersionedTransaction>(tx: T) => Promise<T>;
    signAllTransactions: <T extends Transaction | VersionedTransaction>(txs: T[]) => Promise<T[]>;
    publicKey: PublicKey;
}
export declare function createAnchorProvider(connection: Connection, wallet: AnchorWallet, options?: ConfirmOptions): AnchorProvider;
