import { DevAccountName } from '@parity/product-sdk-tx'; import { PolkadotSigner } from 'polkadot-api'; import { SessionHandle, SessionAddresses, AuthClient } from './auth.js'; import '@parity/product-sdk-terminal'; import './allocations.js'; import '@parity/product-sdk-terminal/host'; import './types.js'; type SignerSource = "dev" | "session"; interface ResolvedSigner { signer: PolkadotSigner; address: string; source: SignerSource; /** Present for QR/mobile sessions; absent for local dev/SURI signers. */ userSession?: SessionHandle["userSession"]; /** Root / product / H160 triple — present for QR/mobile sessions only. */ addresses?: SessionAddresses; /** Tear down session adapter. Call in a finally block. No-op for dev signers. */ destroy(): void; } interface SignerOptions { /** Secret URI like "//Alice". Takes priority over session. */ suri?: string; } declare class SignerNotAvailableError extends Error { constructor(); } declare function parseDevAccountName(suri: string): DevAccountName | null; /** * Resolve a PolkadotSigner. * * 1. `--suri` flag → dev signer (dev name like //Alice, OR a BIP-39 mnemonic * with optional `//` derivation suffix) * 2. Persisted QR session → session signer (via `authClient.getSessionSigner`) * 3. Neither → `SignerNotAvailableError` */ declare function resolveSigner(authClient: AuthClient, options?: SignerOptions): Promise; export { type ResolvedSigner, SignerNotAvailableError, type SignerOptions, type SignerSource, parseDevAccountName, resolveSigner };