import type { AccessAccount, AccessIntent, AccessLease, AccessRoute } from "./types.js"; export type AccessExecutionResult = { ok: boolean; output?: unknown; requiresApproval?: boolean; approvalReason?: string; }; export type AccessRouteExecutor = (args: { lease: AccessLease; route: AccessRoute; intent: AccessIntent; }) => Promise; /** Keeps secrets behind an opaque, short-lived capability lease. */ export declare class AccessSessionBroker { private readonly accounts; private readonly executeRoute; private readonly leaseTtlMs; private readonly leases; constructor(accounts: () => AccessAccount[], executeRoute: AccessRouteExecutor, leaseTtlMs?: number); issue(intent: AccessIntent, now?: number): AccessLease; execute(leaseId: string, now?: number): Promise; act(intent: AccessIntent): Promise; revokeAll(): void; }