export declare const PERSONALIZATION_CANDIDATE_SCHEMA: "personalization-candidate.v1"; export declare const PERSONALIZATION_RULE_SCHEMA: "personalization-rule.v1"; export declare const PERSONALIZATION_DECISION_SCHEMA: "personalization-decision.v1"; export declare const PERSONALIZATION_PROFILE_SCHEMA: "personalization-profile.v1"; export declare const PERSONALIZATION_HISTORY_SCHEMA: "personalization-history.v1"; export declare const PERSONALIZATION_STORE_SCHEMA: "personalization-store.v1"; export type PersonalizationScope = { readonly kind: "personal" | "project" | "task"; readonly key: string; }; export type PersonalizationProvenance = { readonly kind: "user" | "review" | "workflow"; readonly reference: string; }; export type PersonalizationCandidate = { readonly schemaVersion: typeof PERSONALIZATION_CANDIDATE_SCHEMA; readonly candidateId: string; readonly topic: string; readonly rule: string; readonly rationale: string; readonly outcome: string; readonly scope: PersonalizationScope; readonly counterexample: string; readonly tradeoffs: string; readonly provenance: PersonalizationProvenance; }; export type PersonalizationRule = Omit & { readonly schemaVersion: typeof PERSONALIZATION_RULE_SCHEMA; readonly ruleId: string; readonly activatedAt: string; }; export type PersonalizationDecisionAction = "activate" | "retain" | "exception" | "supersede" | "pending" | "rollback"; export type PersonalizationDecision = { readonly schemaVersion: typeof PERSONALIZATION_DECISION_SCHEMA; readonly decisionId: string; readonly action: PersonalizationDecisionAction; readonly candidateId: string | null; readonly ruleId: string | null; readonly scope: PersonalizationScope | null; readonly decidedAt: string; }; export type PersonalizationProfile = { readonly schemaVersion: typeof PERSONALIZATION_PROFILE_SCHEMA; readonly activeRules: readonly PersonalizationRule[]; readonly pendingCandidates: readonly PersonalizationCandidate[]; readonly decisions: readonly PersonalizationDecision[]; }; export type PersonalizationHistoryEvent = { readonly schemaVersion: typeof PERSONALIZATION_HISTORY_SCHEMA; readonly eventId: string; readonly event: "activated" | "conflict" | "pending" | "retained" | "exception" | "superseded" | "rollback"; readonly candidateId: string | null; readonly ruleId: string | null; readonly decisionId: string; readonly occurredAt: string; }; export type PersonalizationHistory = { readonly schemaVersion: typeof PERSONALIZATION_HISTORY_SCHEMA; readonly events: readonly PersonalizationHistoryEvent[]; }; export type PersonalizationStoreDocument = { readonly schemaVersion: typeof PERSONALIZATION_STORE_SCHEMA; readonly profile: PersonalizationProfile; readonly history: PersonalizationHistory; }; export declare class PersonalizationValidationError extends Error { readonly code: "personalization-candidate-invalid" | "personalization-store-corrupt"; constructor(code: PersonalizationValidationError["code"]); } export declare function emptyPersonalizationStore(): PersonalizationStoreDocument; export declare function parsePersonalizationCandidate(value: unknown): PersonalizationCandidate; export declare function parsePersonalizationStore(value: unknown): PersonalizationStoreDocument; export declare function scopesOverlap(left: PersonalizationScope, right: PersonalizationScope): boolean; export declare function findConflictingRule(rules: readonly PersonalizationRule[], candidate: PersonalizationCandidate): PersonalizationRule | undefined; export declare function ruleFromCandidate(candidate: PersonalizationCandidate, ruleId: string, activatedAt: string, scope?: PersonalizationScope): PersonalizationRule; export declare function decisionRecord(decisionId: string, action: PersonalizationDecisionAction, decidedAt: string, candidateId: string | null, ruleId: string | null, scope: PersonalizationScope | null): PersonalizationDecision; export declare function historyEvent(eventId: string, event: PersonalizationHistoryEvent["event"], occurredAt: string, decisionId: string, candidateId: string | null, ruleId: string | null): PersonalizationHistoryEvent;