import type { SkillGraph } from './graph.ts'; export declare const ADAPTATION_PATH = "onboarding/template-adaptation.json"; export declare const TEMPLATE_DECISIONS_PATH = "agent/template-decisions.json"; export type AdaptationPreferences = { version: 1; sections: 'preserve-ask' | 'agent-decides'; aiImages: 'ask-each' | 'no-ai' | 'agent-decides'; priorities: string; /** Explicit direct-input continuation; absent retains interactive checkpoints. */ checkpoints?: 'automatic' | 'ask'; }; export type TemplateAdaptation = { version: 1; selectionHash: string; reference: { url: string; evidence: string[]; }; qualities: Array<{ id: string; relationship: string; implementation: string; }>; sections: Array<{ id: string; referenceSection: string; referenceIds?: string[]; owner?: string; disposition: 'retain' | 'adapt' | 'remove'; route: string; targetId: string; content: 'ready' | 'draft' | 'placeholder'; nextStep?: string; }>; images: Array<{ id: string; purpose: string; treatment: string; identity: string; status: 'proposed' | 'approved' | 'declined'; output?: string; commissionHash?: string; references?: Array<{ assetId: string; path: string; sha256: string; }>; }>; }; export type TemplateDecision = { kind: 'remove-section' | 'generate-image'; id: string; proposalHash: string; source: 'user-chat' | 'user-ui'; instruction: string; }; export declare function validateAdaptationPreferences(value: unknown): asserts value is AdaptationPreferences; export declare function adaptationPreferences(root: string): AdaptationPreferences | undefined; /** Apply before reconciliation as well as preparation/completion: output and * dependency identities must use the same effective graph on every load. */ export declare function applyTemplateAdaptationGraph(root: string, graph: SkillGraph): SkillGraph; /** Excludes workflow status/output so an approved proposal survives production. */ export declare function templateProposalHash(proposal: TemplateAdaptation['images'][number] | TemplateAdaptation['sections'][number]): string; export declare function submitTemplateDecision(root: string, decision: TemplateDecision): void; export declare function assertTemplateImageAuthorization(root: string, requestId: string, commission?: { sourceAssetIds: string[]; }): void; export declare function templateAdaptationFailures(root: string, node: string): string[]; export declare function templateAdaptationGuidance(root: string): string;