import { PublicKey, SendOptions, Transaction, TransactionSignature, VersionedTransaction } from '@solana/web3.js'; import { TurnkeySolanaWalletConnector } from './TurnkeySolanaWalletConnector'; export type ITurnkeySolanaSigner = { publicKey?: { toBytes(): Uint8Array; }; isConnected: boolean; providers: ITurnkeySolanaSigner[]; signTransaction(transaction: T): Promise; signAllTransactions(transactions: T[]): Promise; signAndSendTransaction(transaction: T, options?: SendOptions): Promise<{ signature: TransactionSignature; }>; signMessage(message: string, encoding?: string): Promise; connect: (args?: { onlyIfTrusted: boolean; }) => Promise<{ address?: string; publicKey?: PublicKey; } | undefined>; disconnect(): Promise; }; export declare class TurnkeySolanaSigner implements ITurnkeySolanaSigner { readonly isConnected = true; readonly publicKey: PublicKey | undefined; readonly providers: this[]; private readonly turnkeyAddress; private walletConnector; constructor({ walletConnector, }: { walletConnector: TurnkeySolanaWalletConnector; }); signMessage(message: string): Promise; signTransaction(transaction: Transaction | VersionedTransaction): Promise; signAllTransactions(_transactions: Array): Promise; signAndSendTransaction(transaction: Transaction | VersionedTransaction, options?: SendOptions): Promise<{ signature: TransactionSignature; }>; connect(_args?: { onlyIfTrusted?: boolean; }): Promise<{ address?: string; publicKey?: PublicKey; } | undefined>; disconnect(): Promise; }