import { Keypair } from '@solana/web3.js'; import { type PrivateKeyAccount } from 'viem/accounts'; export type WalletChainType = 'solana' | 'evm'; export interface WalletInfo { name: string; chainType: WalletChainType; address: string; publicKey: string; createdAt: string; isUnlocked: boolean; } export interface WalletListResult { wallets: WalletInfo[]; unlockedCount: number; } export interface WalletCreateResult { name: string; chainType: WalletChainType; address: string; publicKey: string; filePath: string; message: string; } export interface WalletUnlockResult { name: string; chainType: WalletChainType; address: string; sessionToken: string; message: string; } export interface WalletExportResult { name: string; exportPath: string; message: string; } export interface UnlockedWallet { name: string; chainType: WalletChainType; address: string; publicKey: string; solanaKeypair?: Keypair; evmAccount?: PrivateKeyAccount; evmPrivateKeyBytes?: Uint8Array; } export declare class WalletManager { private readonly walletDir; private readonly walletsPath; private readonly exportsPath; private unlockedWallets; private walletSessions; private sessionTokens; private autoLockMs; private unlockFailCounts; private unlockLockedUntil; constructor(walletDir?: string); private generateSessionToken; validateSessionToken(token: string): string | null; private revokeSessionToken; setAutoLockTimeout(ms: number): void; getAutoLockTimeout(): number; private refreshAutoLock; private autoLockWallet; private secureWipe; touchWallet(name: string): boolean; private deriveKey; private encrypt; private decrypt; private ensureDir; private getWalletPath; exists(name: string): Promise; private readWalletFile; list(): Promise; getInfo(name: string): Promise; create(name: string, chainType: WalletChainType, password: string): Promise; import(name: string, chainType: WalletChainType, privateKey: string, password: string): Promise; private parseSolanaPrivateKey; private parseEvmPrivateKey; unlock(name: string, password: string): Promise; lock(name: string): boolean; lockAll(): number; isUnlocked(name: string): boolean; getSessionInfo(): Array<{ name: string; lastActivity: number; chainType: WalletChainType; }>; getUnlockedWallet(name: string): UnlockedWallet; getSolanaKeypair(name: string): Keypair; getEvmAccount(name: string): PrivateKeyAccount; getAnyUnlockedSolanaKeypair(): Keypair | null; getAnyUnlockedEvmAccount(): PrivateKeyAccount | null; getAnyUnlockedEvmPrivateKey(): `0x${string}` | null; export(name: string, currentPassword: string, exportPassword?: string): Promise; delete(name: string, password: string): Promise; verifyPassword(name: string, password: string): Promise; changePassword(name: string, currentPassword: string, newPassword: string): Promise; } export declare function getWalletManager(): WalletManager; export declare function setWalletManager(manager: WalletManager): void; //# sourceMappingURL=wallet-manager.d.ts.map