import { type CatalogEntry, type CatalogStatus } from './types.js'; export interface LifecycleOptions { /** Self-asserted provenance, recorded in history. */ actor: string; reason?: string; now?: string; } export interface ApproveOptions extends LifecycleOptions { targets: string[]; /** Tools to grant; must be requested by the skill and in CATALOG_GRANTABLE_TOOLS. */ grant?: string[]; replacesLegacy?: boolean; } export interface LifecycleResult { id: string; before: CatalogStatus; after: CatalogStatus; entry: CatalogEntry; } /** staged → approved, recording targets, grants and legacy replacement. */ export declare function approve(root: string, id: string, opts: ApproveOptions): LifecycleResult; /** approved or disabled → active; the package digest must verify. */ export declare const activate: (root: string, id: string, opts: LifecycleOptions) => LifecycleResult; export declare const disable: (root: string, id: string, opts: LifecycleOptions) => LifecycleResult; /** staged, active or disabled → quarantined; needs a reason. */ export declare const quarantine: (root: string, id: string, opts: LifecycleOptions) => LifecycleResult; /** quarantined → staged; needs a reason and records `inspection.override`. */ export declare const release: (root: string, id: string, opts: LifecycleOptions) => LifecycleResult; /** Any status but revoked → revoked (terminal); needs a reason. */ export declare const revoke: (root: string, id: string, opts: LifecycleOptions) => LifecycleResult; //# sourceMappingURL=lifecycle.d.ts.map