import { CapabilityRegistry } from "./registry.js"; import { type ReceiptStore } from "./receipts.js"; import { type CapabilityExecutor } from "./executor.js"; import type { AuthorizationDecision, Capability, CapabilityPlan, CapabilityPolicy, CapabilityReceipt, DiscoveryQuery, ExecutionOptions } from "./types.js"; export type CapabilityRuntimeOptions = { registry?: CapabilityRegistry; receipts?: ReceiptStore; policy?: CapabilityPolicy; clock?: () => Date; executor?: CapabilityExecutor; }; export declare class CapabilityRuntime { readonly registry: CapabilityRegistry; readonly receipts: ReceiptStore; readonly policy: CapabilityPolicy; private readonly clock; private readonly executor; constructor(options?: CapabilityRuntimeOptions); register(capability: Capability): this; inspect(id: string): import("./types.js").CapabilityInspection; discover(query: DiscoveryQuery | string): import("./types.js").DiscoveryResult[]; plan(id: string, input: unknown): Promise; authorize(plan: CapabilityPlan, approved?: boolean): AuthorizationDecision; invoke(id: string, input: unknown, options?: ExecutionOptions): Promise; execute(plan: CapabilityPlan, options?: ExecutionOptions): Promise; rollback(receiptId: string, options?: ExecutionOptions): Promise; getReceipt(receiptId: string): Promise; listReceipts(): Promise; private assertPlanIntegrity; } //# sourceMappingURL=runtime.d.ts.map