import { z } from "zod"; /** Per-analyzer resolution policy, independent of any execution backend. */ export declare const ANALYZER_SETTINGS: readonly ["repo", "ephemeral", "permanent", "skip", "auto"]; export declare const AnalyzerSettingSchema: z.ZodEnum<["repo", "ephemeral", "permanent", "skip", "auto"]>; export type AnalyzerSetting = z.infer; export declare const ANALYZER_POLICY_RELATIVE_PATH: ".audit-tools/audit/analyzer-policy.json"; export declare const AnalyzerConsentDecisionSchema: z.ZodEnum<["granted", "declined"]>; export type AnalyzerConsentDecision = z.infer; /** * Durable analyzer choices live apart from the canonical repository session * intent. The strict top-level shape deliberately has no place for an * acquisition consent token: tokens authorize one run and must never become a * persisted capability. */ export declare const AnalyzerPolicySchema: z.ZodObject<{ analyzers: z.ZodOptional>>; analyzer_consent: z.ZodOptional>>; }, "strict", z.ZodTypeAny, { analyzers?: Record | undefined; analyzer_consent?: Record | undefined; }, { analyzers?: Record | undefined; analyzer_consent?: Record | undefined; }>; export type AnalyzerPolicy = z.infer; /** The one canonical analyzer-policy artifact for a repository. */ export declare function getAnalyzerPolicyPath(repositoryRoot: string): string; /** Load the strict durable analyzer policy; an absent artifact means no choices. */ export declare function loadAnalyzerPolicy(repositoryRoot: string): Promise; /** * Durably merge per-analyzer resolution choices without losing concurrent * writers or changing the repository's canonical session-intent bytes. */ export declare function persistAnalyzerSettings(repositoryRoot: string, settings: Readonly>): Promise; /** * Durably merge consent decisions. The API accepts decisions only; a per-run * consent token is neither accepted nor representable in the strict artifact. */ export declare function persistAnalyzerConsent(repositoryRoot: string, decisions: Readonly>): Promise; //# sourceMappingURL=analyzerPolicy.d.ts.map