import type { ArcanaProvider, RequestArguments } from './provider';
import type * as Web3Module from '@solana/web3.js';
import type * as BS58Module from 'bs58';
type SignatureRes = {
    publicKey: Web3Module.PublicKey;
    signature: Uint8Array;
};
export declare class ArcanaSolanaAPI {
    private p;
    private web3Module;
    private bs58Module;
    static create(p: ArcanaProvider): Promise<ArcanaSolanaAPI>;
    constructor(p: ArcanaProvider, web3Module: typeof Web3Module, bs58Module: typeof BS58Module);
    get isConnected(): boolean;
    request(_args: RequestArguments): Promise<unknown>;
    private parseSignatureResponse;
    signMessage(data: Uint8Array, display: string): Promise<SignatureRes>;
    signTransaction(tx: Web3Module.VersionedTransaction | Web3Module.Transaction): Promise<Web3Module.VersionedTransaction>;
    signAndSendTransaction(tx: Web3Module.VersionedTransaction | Web3Module.Transaction): Promise<{
        signature: string;
        publicKey: string;
    }>;
    signAllTransactions(txes: (Web3Module.VersionedTransaction | Web3Module.Transaction)[]): Promise<Web3Module.VersionedTransaction[]>;
}
export {};
