import { z } from "zod"; import { type CapabilityId } from "../capability/id.js"; import { CHANGE_PROFILE_RULE_TABLE_VERSION } from "./change-profile-rules.js"; export declare const CHANGE_PROFILE_SCHEMA_VERSION: 1; export declare const CHANGE_PROFILE_CLASSIFIER_VERSION: "1.0.0"; export declare const MAX_CHANGE_PROFILE_CHANGES = 10000; export declare const MAX_CHANGE_PROFILE_TEXT_BYTES = 262144; export declare const MAX_CHANGE_PROFILE_TOTAL_TEXT_BYTES = 16777216; declare const ContentFactSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{ kind: z.ZodLiteral<"text">; text: z.ZodString; byteLength: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"binary">; byteLength: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"submodule">; revision: z.ZodString; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"unreadable">; reason: z.ZodString; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"oversized">; byteLength: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"unknown">; code: z.ZodString; }, z.core.$strict>], "kind">; export declare const ChangeFactSchema: z.ZodObject<{ scope: z.ZodEnum<{ staged: "staged"; unstaged: "unstaged"; untracked: "untracked"; }>; status: z.ZodEnum<{ added: "added"; deleted: "deleted"; modified: "modified"; renamed: "renamed"; }>; path: z.ZodString; previousPath: z.ZodNullable; before: z.ZodNullable; text: z.ZodString; byteLength: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"binary">; byteLength: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"submodule">; revision: z.ZodString; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"unreadable">; reason: z.ZodString; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"oversized">; byteLength: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"unknown">; code: z.ZodString; }, z.core.$strict>], "kind">>; after: z.ZodNullable; text: z.ZodString; byteLength: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"binary">; byteLength: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"submodule">; revision: z.ZodString; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"unreadable">; reason: z.ZodString; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"oversized">; byteLength: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"unknown">; code: z.ZodString; }, z.core.$strict>], "kind">>; beforeRevision: z.ZodOptional; afterRevision: z.ZodOptional; }, z.core.$strict>; export declare const ChangeProfileInputSchema: z.ZodObject<{ schemaVersion: z.ZodLiteral<1>; source: z.ZodEnum<{ diff: "diff"; worktree: "worktree"; }>; expectRuleTableVersion: z.ZodOptional>; changes: z.ZodArray; status: z.ZodEnum<{ added: "added"; deleted: "deleted"; modified: "modified"; renamed: "renamed"; }>; path: z.ZodString; previousPath: z.ZodNullable; before: z.ZodNullable; text: z.ZodString; byteLength: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"binary">; byteLength: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"submodule">; revision: z.ZodString; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"unreadable">; reason: z.ZodString; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"oversized">; byteLength: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"unknown">; code: z.ZodString; }, z.core.$strict>], "kind">>; after: z.ZodNullable; text: z.ZodString; byteLength: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"binary">; byteLength: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"submodule">; revision: z.ZodString; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"unreadable">; reason: z.ZodString; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"oversized">; byteLength: z.ZodNumber; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"unknown">; code: z.ZodString; }, z.core.$strict>], "kind">>; beforeRevision: z.ZodOptional; afterRevision: z.ZodOptional; }, z.core.$strict>>; }, z.core.$strict>; export type ContentFact = z.infer; export type ChangeFact = z.infer; export type ChangeProfileInput = z.infer; export interface ChangeProfileEvidence { ruleId: CapabilityId; path: string; side: "before" | "after" | "change"; signal: string; } export interface ChangeProfileReason { ruleId: CapabilityId; scope: ChangeFact["scope"]; path: string; side: ChangeProfileEvidence["side"]; signal: string; } export interface ChangeProfileItem { id: CapabilityId; reasons: ChangeProfileReason[]; evidence: ChangeProfileEvidence[]; } export interface ChangeProfile { schemaVersion: 1; classifierVersion: typeof CHANGE_PROFILE_CLASSIFIER_VERSION; ruleTableVersion: typeof CHANGE_PROFILE_RULE_TABLE_VERSION; inputIdentity: string; baseline: ChangeProfileItem[]; overlays: ChangeProfileItem[]; triggers: ChangeProfileItem[]; exclusions: ChangeProfileItem[]; escalations: ChangeProfileItem[]; } export declare function classifyChangeProfile(value: unknown): ChangeProfile; export declare function serializeChangeProfile(profile: ChangeProfile): string; export declare function renderChangeProfile(profile: ChangeProfile): string; export {};