import { CLI_COMMAND_REGISTRY_SCHEMA_VERSION_V2 } from '@nexusclaw/shared'; import type { CliCommandInventoryV1 } from './command-inventory'; import type { CliRegisteredCommandPolicyV2 } from './command-policy.registry'; import type { CliCommandPolicyReportV1 } from './command-policy.validator'; export interface CliCommandPolicyRegistryEntryV2 { readonly commandId: string; readonly path: string; readonly aliases: ReadonlyArray; readonly summary: string; readonly arguments: CliCommandInventoryV1['leaves'][number]['arguments']; readonly options: CliCommandInventoryV1['leaves'][number]['options']; readonly policySource: CliRegisteredCommandPolicyV2['source']; readonly modes: CliRegisteredCommandPolicyV2['modes']; readonly contractCompleteness: 'complete' | 'partial'; readonly diagnosticRuleIds: ReadonlyArray; } export interface CliCommandPolicyRegistryExportV2 { readonly schemaVersion: typeof CLI_COMMAND_REGISTRY_SCHEMA_VERSION_V2; readonly inventorySchemaVersion: CliCommandInventoryV1['schemaVersion']; readonly commands: ReadonlyArray; readonly policyReport: CliCommandPolicyReportV1; readonly registryDigest: `sha256:${string}`; } export declare function exportCommandPolicyRegistryV2(inventory: CliCommandInventoryV1, policies: ReadonlyArray, policyReport: CliCommandPolicyReportV1): CliCommandPolicyRegistryExportV2;