import { AgenticPolicyEngine, type BudgetLimit, type CapabilityEnvelope, type PolicyApproval, type PolicyDecision, type PolicyRequest, type PolicyRule, type PolicyState } from '@claude-flow/security/policy/index'; /** * Exported for ADR-406 mission storage, which takes the same per-file lock * (pid, pid namespace and boot id identify a dead owner) rather than a copy. */ export declare function acquireLock(lockPath: string): Promise<() => void>; export declare function loadPolicyState(projectRoot?: string): PolicyState; export declare function autoMigratePolicyStateIfNeeded(projectRoot?: string): Promise<{ migrated: boolean; statePath?: string; mode?: PolicyState['mode']; }>; export declare function withPolicyTransaction(projectRoot: string, operation: (engine: AgenticPolicyEngine) => T | Promise, options?: { approvalIssuerVerifier?: (issuer: string) => boolean; }): Promise; export declare function evaluatePolicyRequest(request: PolicyRequest, projectRoot?: string): Promise; export declare function setPolicyMode(mode: PolicyState['mode'], projectRoot?: string): Promise; export declare function upsertPolicyRule(rule: PolicyRule, projectRoot?: string): Promise; export declare function setPolicyBudget(limit: BudgetLimit, projectRoot?: string): Promise; export declare function issuePolicyApproval(approval: Omit & { uses?: number; issuedAt?: number; }, projectRoot?: string, approvalIssuerVerifier?: (issuer: string) => boolean): Promise; export declare function revokePolicyApproval(id: string, projectRoot?: string): Promise; export type PolicyLedgerVerification = ReturnType & { /** How the second anchor was brought in line during this call. */ secondaryAnchor?: 'recorded-from-state' | 'restored-primary' | 'established-explicitly'; }; /** * Verification (#3568, #3602). It must not run inside `withPolicyTransaction`, * whose own post-operation check throws a generic * `policy-ledger-verification-failed` and hides which check failed. It writes * only to bring the second anchor in line, or on an explicit `establishAnchor`. */ export declare function verifyPolicyLedger(projectRoot?: string, options?: { establishAnchor?: boolean; full?: boolean; }): Promise; export declare function authorizeMcpTool(toolName: string, input: Record, context?: Record, attributes?: Readonly<{ actionType?: string; network?: boolean; destructive?: boolean; namespaceAccess?: 'read' | 'write'; envelope?: CapabilityEnvelope; costUsd?: number; tokens?: number; concurrency?: number; }>): Promise; /** Trusted classification derived from the registered tool name, never input. */ export declare function classifyMcpTool(toolName: string): { actionType: string; network: boolean; destructive: boolean; namespaceAccess?: 'read' | 'write'; }; //# sourceMappingURL=policy-runtime.d.ts.map