import type { CliCommandInventoryV1 } from './command-inventory'; import type { CliRegisteredCommandPolicyV2 } from './command-policy.registry'; export declare const CLI_COMMAND_POLICY_REPORT_SCHEMA_VERSION: "nexusclaw.cli-command-policy-report/v1"; export type CliCommandPolicyRuleId = 'COMMAND_POLICY_MISSING' | 'COMMAND_POLICY_STALE' | 'COMMAND_POLICY_DUPLICATE' | 'COMMAND_POLICY_PATH_MISMATCH' | 'COMMAND_POLICY_MODE_MISSING' | 'COMMAND_POLICY_MODE_DUPLICATE' | 'MACHINE_JSON_OPTION_MISSING' | 'DRY_RUN_OPTION_MISMATCH' | 'DRY_RUN_EXEMPTION_REQUIRED' | 'DRY_RUN_EXEMPTION_INVALID' | 'DRY_RUN_EXEMPTION_EXPIRED' | 'ENVIRONMENT_CANONICAL_OPTION_MISSING' | 'ENVIRONMENT_ALIAS_MISSING' | 'ENVIRONMENT_POLICY_MISMATCH' | 'WORKSPACE_OPTION_MISMATCH' | 'LOCAL_WORKSPACE_OPTION_MISMATCH' | 'EXIT_CODE_SUCCESS_INVALID' | 'EXIT_CODE_CLASS_OVERLAP'; export interface CliCommandPolicyDiagnosticV1 { readonly ruleId: CliCommandPolicyRuleId; readonly commandId: string; readonly modeId?: string; readonly message: string; } export interface CliCommandPolicyReportV1 { readonly schemaVersion: typeof CLI_COMMAND_POLICY_REPORT_SCHEMA_VERSION; readonly ok: boolean; readonly inventoryCount: number; readonly policyCount: number; readonly modeCount: number; readonly diagnostics: ReadonlyArray; } export declare function validateCommandPolicyRegistry(inventory: CliCommandInventoryV1, policies: ReadonlyArray, today?: string): CliCommandPolicyReportV1; export declare function assertCommandPolicyRegistryConforms(inventory: CliCommandInventoryV1, policies: ReadonlyArray, today?: string): void;