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