import type { WalletState, AutoLockCallback } from "./types.js"; /** * Manages the wallet lifecycle — owns the `tick()` polling interval * and notifies callers on auto-lock. * * Wraps a `WalletHandle` from `host-wasm` and adds: * - Automatic `tick()` polling via `requestAnimationFrame` or `setInterval` * - `onAutoLock` callback for UI notification * - `destroy()` to clean up the timer */ export declare class WalletSession { private handle; private timerId; private onAutoLock; private wasLocked; constructor(handle: WalletHandle); /** Register a callback invoked when the wallet auto-locks. */ setOnAutoLock(cb: AutoLockCallback): void; /** Load key material from a BIP-39 mnemonic. Unlocks immediately. */ loadMnemonic(phrase: string): void; /** Lock the wallet — clears all in-memory key material. */ lock(): void; /** Current wallet state. */ state(): WalletState; /** Root SS58 address (Polkadot format, prefix 0). */ rootAddress(): string; /** Root 32-byte sr25519 public key, or null if locked. */ rootPublicKey(): Uint8Array | null; /** EIP-55 checksummed Ethereum address. */ ethAddress(): string; /** P2WPKH (bech32) Bitcoin mainnet address. */ btcAddress(): string; /** SS58 address for a derived app account. */ appAddress(appId: string, index?: number): string; /** 32-byte sr25519 public key for a derived app account. */ appPublicKey(appId: string, index?: number): Uint8Array; /** Sign with root sr25519 keypair. Returns 64-byte signature. */ signRoot(payload: Uint8Array): Uint8Array; /** Sign with app-scoped sr25519 keypair. Returns 64-byte signature. */ sign(appId: string, index: number | undefined, payload: Uint8Array): Uint8Array; /** 32-byte Ed25519 public key for a derived app account. */ ed25519PublicKey(appId: string, index?: number): Uint8Array; /** Sign with app-scoped Ed25519 keypair. Returns 64-byte signature. */ signEd25519(appId: string, index: number | undefined, payload: Uint8Array): Uint8Array; /** 33-byte compressed secp256k1 public key for a derived app account (Substrate ECDSA). */ substrateEcdsaPublicKey(appId: string, index?: number): Uint8Array; /** Sign with app-scoped Substrate ECDSA keypair. Returns 65-byte signature (r+s+v). */ signSubstrateEcdsa(appId: string, index: number | undefined, payload: Uint8Array): Uint8Array; /** EIP-191 personal_sign. Returns 65-byte signature (r+s+v). */ ethSignPersonal(data: Uint8Array): Uint8Array; /** BIP-137 message signing. Returns Base64 string. */ btcSignMessage(msg: Uint8Array): string; /** Sign a raw 32-byte digest with BTC key. Returns DER-encoded signature. */ btcSignRaw(digest: Uint8Array): Uint8Array; /** Stop tick polling and release the timer. */ destroy(): void; /** Access the underlying WalletHandle for escape-hatch usage. */ get raw(): WalletHandle; private startPolling; private checkTick; } /** * Minimal type for the WalletHandle from host-wasm. * This avoids importing wasm-bindgen generated types directly. */ interface WalletHandle { loadMnemonic(phrase: string): void; lock(): void; tick(): boolean; state(): string; rootAddress(): string; rootPublicKey(): Uint8Array | undefined; ethAddress(): string; btcAddress(): string; appAddress(appId: string, index: number): string; appPublicKey(appId: string, index: number): Uint8Array; signRoot(payload: Uint8Array): Uint8Array; sign(appId: string, index: number, payload: Uint8Array): Uint8Array; ed25519PublicKey(appId: string, index: number): Uint8Array; signEd25519(appId: string, index: number, payload: Uint8Array): Uint8Array; substrateEcdsaPublicKey(appId: string, index: number): Uint8Array; signSubstrateEcdsa(appId: string, index: number, payload: Uint8Array): Uint8Array; ethSignPersonal(data: Uint8Array): Uint8Array; btcSignMessage(msg: Uint8Array): string; btcSignRaw(digest: Uint8Array): Uint8Array; free(): void; } export {}; //# sourceMappingURL=wallet-session.d.ts.map