import { type ConnectorConfigDocument } from "./config-document.js"; import { type ConnectorConfigSummary } from "./config-operator.js"; export declare const CONFIG_CHANGE_REPORT_SCHEMA_VERSION = 1; export declare const CONFIG_CHANGE_PLAN_DIGEST_PATTERN: RegExp; declare const CONFIG_CHANGE_PLAN_FORMAT = "guildcontrol.config-change-plan.v1"; export type ConfigChangeCategory = "capability" | "credential" | "feature-scope" | "gateway" | "limits" | "metadata" | "observability" | "read-scope" | "runtime" | "storage" | "tool-surface"; export type ConfigChangeImpact = "authority-expansion" | "authority-reduction" | "authority-redistribution" | "metadata-only" | "operational-change"; export interface ConfigChangeRecord { readonly after: unknown; readonly before: unknown; readonly category: ConfigChangeCategory; readonly impact: ConfigChangeImpact; readonly path: string; } export interface ConfigChangeImpactSummary { readonly authorityExpansions: number; readonly authorityReductions: number; readonly authorityRedistributions: number; readonly metadataOnly: number; readonly operationalChanges: number; readonly total: number; } export interface ConfigChangeCommand { readonly args: readonly string[]; readonly command: "guildcontrol"; } export interface ConfigChangePlanOptions { readonly candidateFile: string; readonly file: string; } export interface ConfigChangeApplyOptions extends ConfigChangePlanOptions { readonly confirmation: string; readonly planDigest: string; } export interface ConfigChangePlanReport { readonly action: "plan"; readonly candidateDocument: ConnectorConfigDocument; readonly candidateDocumentDigest: string; readonly candidateFile: string; readonly candidateSummary: ConnectorConfigSummary; readonly changes: readonly ConfigChangeRecord[]; readonly confirmation: { readonly requiredValue: string; }; readonly currentDocumentDigest: string; readonly currentSummary: ConnectorConfigSummary; readonly execution: { readonly configurationWritten: false; readonly discordContacted: false; readonly secretValuesRead: false; }; readonly file: string; readonly format: typeof CONFIG_CHANGE_PLAN_FORMAT; readonly impact: ConfigChangeImpactSummary; readonly nextChecks: readonly ConfigChangeCommand[]; readonly planDigest: string; readonly schemaVersion: typeof CONFIG_CHANGE_REPORT_SCHEMA_VERSION; readonly status: "already-current" | "planned"; readonly tools: { readonly added: readonly string[]; readonly removed: readonly string[]; }; readonly warnings: readonly string[]; } export interface ConfigChangeApplyReport extends Omit { readonly action: "apply"; readonly applied: boolean; readonly backupFile?: string; readonly execution: { readonly configurationWritten: boolean; readonly discordContacted: false; readonly secretValuesRead: false; }; readonly status: "already-current" | "applied"; } export declare function planConfigChange(options: ConfigChangePlanOptions): ConfigChangePlanReport; export declare function applyConfigChange(options: ConfigChangeApplyOptions): Promise; export {}; //# sourceMappingURL=config-review.d.ts.map