/** * Hex string type with 0x prefix */ export type Hex = `0x${string}`; /** * Configuration for signer adapters * Used internally when SDK methods create signers */ export interface SignerConfig { /** x-api-key for authenticate middleware (optional when JWT provided) */ apiKey?: string; /** Static JWT to send as Authorization: Bearer */ jwt?: string; /** Lazy JWT provider */ getJwt?: () => Promise | string | null | undefined; /** Custom headers provider (e.g., Authorization) */ getAuthHeaders?: () => Promise> | Record; /** SDK-like object exposing getSession() that returns { authToken? } */ sdk?: { getSession: () => { authToken?: string | null | undefined; } | null | undefined; }; /** Base URL for the Emblem signer API */ baseUrl?: string; } /** * Internal vault info used by signers */ export interface SignerVaultInfo { vaultId: string; tokenId?: string; address: string; evmAddress: Hex; created_by?: string; } /** * Extended vault info for Bitcoin signers */ export interface BitcoinSignerVaultInfo extends SignerVaultInfo { /** Bitcoin public key (compressed, hex) */ btcPubkey: string; /** Derived Bitcoin addresses */ btcAddresses?: { /** Legacy (1...) */ p2pkh: string; /** Native SegWit (bc1q...) */ p2wpkh: string; /** Taproot (bc1p...) */ p2tr: string; }; } //# sourceMappingURL=signers.d.ts.map