import type { SignerConfig, SignerVaultInfo } from '../types/signers'; export interface SolanaSignerInterface { publicKey: string; signMessage(message: Uint8Array | string): Promise; signTransaction(transaction: unknown): Promise; } export interface SolanaKitSignerInterface { publicKey: string; signMessage(message: Uint8Array | string): Promise; signTransaction(transaction: unknown): Promise; } export declare class EmblemSolanaSigner implements SolanaSignerInterface, SolanaKitSignerInterface { readonly publicKey: string; private readonly config; private readonly vaultId; constructor(config: SignerConfig, vaultInfo: SignerVaultInfo); signMessage(message: Uint8Array | string): Promise; signTransaction(transaction: unknown): Promise; private serializeTransaction; private deserializeTransaction; /** Get the vault ID for this signer */ getVaultId(): string; /** Sign multiple transactions in batch */ signAllTransactions(transactions: unknown[]): Promise; /** Check if this signer can sign for a given public key */ canSign(publicKey: string): boolean; /** Sign and optionally broadcast a transaction */ signAndBroadcast(transaction: unknown, broadcast?: boolean): Promise; } export declare function toSolanaWeb3Signer(config: SignerConfig, infoOverride?: SignerVaultInfo): Promise; export declare function toSolanaKitSigner(config: SignerConfig, infoOverride?: SignerVaultInfo): Promise; //# sourceMappingURL=solana.d.ts.map