/** * The agent's Lightning wallet on the local machine: mint the budgeted wallet * on Run402's Hub, keep its pairing in the active profile's `wallet.json` * beside the Base key, report its balance, revoke it. Shared by `r.init` * (`run402 init lightning`) and `run402 wallets lightning …`. The pairing * secret is never returned by anything here. */ import { type WalletData } from "../../core-dist/wallet.js"; import type { AgentLightningWallet } from "../namespaces/agent.types.js"; export declare const LIGHTNING_MINT_TIMEOUT_MS = 45000; type LightningAgent = { lightningWallet: { mint(opts?: { timeoutMs?: number; }): Promise; get(): Promise; revoke(): Promise; }; }; export interface LightningBalance { balance_sats: number; budget_remaining_sats: number | null; } export interface LightningDescription { wallet_id: string | null; status: string | null; custody: "run402_hub"; custody_note: string; lightning_address: string | null; budget_sats: number | null; starter_sats: number | null; has_pairing: boolean; minted_at: string | null; balance_sats?: number; budget_remaining_sats?: number | null; } export type LightningOutcome = "stored" | "present" | "minting" | "unavailable" | "pairing_lost" | string; export interface EnsureLightningResult { localWallet: WalletData; wallet: AgentLightningWallet | null; outcome: LightningOutcome; error?: unknown; } /** Public facts only: never the pairing. */ export declare function describeLightning(localWallet: WalletData | null | undefined, wallet?: Partial | null, balance?: LightningBalance | null): LightningDescription | null; /** Balance and remaining budget over NWC, best-effort (null on any failure). */ export declare function readLightningBalance(localWallet: WalletData | null | undefined): Promise; /** * Ensure the active profile holds an active Lightning wallet. `outcome` is * `stored` (pairing just saved), `present` (already held locally), `minting` * (the platform is still minting; rerun later), `unavailable` (no Hub on this * gateway), `pairing_lost` (active, but its one-time pairing went to another * machine: revoke and mint again), or the wallet's own non-active status. */ export declare function ensureLightningWallet(agent: LightningAgent, options?: { timeoutMs?: number; }): Promise; /** Revoke on the platform and forget the pairing locally; the rail returns to x402. */ export declare function revokeLightningWallet(agent: LightningAgent): Promise; export {}; //# sourceMappingURL=lightning-wallet.d.ts.map