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; } export interface UnlockedWallet { name: string; chainType: WalletChainType; address: string; publicKey: string; solanaKeypair?: Keypair; evmAccount?: PrivateKeyAccount; } export interface StoreStatus { initialized: boolean; unlocked: boolean; walletCount: number; sessionExpiresAt: number | null; } export declare class WalletStore { private readonly baseDir; private readonly storePath; private readonly legacyWalletsPath; private masterKey; private storeContent; private unlockedWallets; private sessionTimer; private sessionExpiresAt; private sessionTimeoutMs; private unlockFailCount; private unlockLockedUntil; private writeLock; constructor(baseDir?: string); private deriveKey; private encrypt; private decrypt; private ensureDir; isInitialized(): Promise; isUnlocked(): boolean; getStatus(): Promise; initialize(masterPassword: string): Promise; unlock(password: string): Promise<{ walletCount: number; message: string; }>; lock(): void; private startSession; private refreshSession; setSessionTimeout(minutes: number): void; private loadWalletIntoMemory; private saveStore; private saveStoreInner; addWallet(name: string, chainType: WalletChainType, secretKey: Uint8Array, publicKey: string, address: string): Promise; removeWallet(name: string): Promise; listWallets(): WalletInfo[]; getWallet(name: string): UnlockedWallet | null; getAnySolanaKeypair(): Keypair | null; getAnyEvmAccount(): PrivateKeyAccount | null; getAnyEvmPrivateKey(): `0x${string}` | null; verifyPassword(password: string): Promise; changePassword(currentPassword: string, newPassword: string): Promise; migrate(legacyPasswords: Record, newMasterPassword: string): Promise<{ migrated: string[]; failed: Array<{ name: string; error: string; }>; }>; deleteLegacyWallets(names: string[]): Promise; } export declare function getWalletStore(): WalletStore; export declare function setWalletStore(store: WalletStore): void; //# sourceMappingURL=wallet-store.d.ts.map