import type { CanonicalState } from "../types/index.js"; import { type LifecyclePhase, type MutationPolicy, type RepositoryType } from "./ai-metadata.js"; export type ExpectedWorkflow = { name: string; trigger: string; command: string; requiresApproval: boolean; }; export type ProhibitedAction = { action: string; reason: string; }; export type ApprovalRequirement = { action: string; evidence: string[]; escalationMessage: string; }; export type EscalationRule = { condition: string; action: string; }; export type OwnershipBoundary = { domain: string; scope: string; }; export type AiInteractionManifest = { schema: "synth-ai-interaction-manifest-v1"; version: string; generatedAt: string; repositoryPurpose: string; repositoryType: RepositoryType; lifecyclePhase: LifecyclePhase; mutationPolicy: MutationPolicy; expectedWorkflows: ExpectedWorkflow[]; prohibitedActions: ProhibitedAction[]; approvalRequirements: ApprovalRequirement[]; preferredInteractionPattern: string; evidenceExpectations: string[]; escalationRules: EscalationRule[]; ownershipBoundaries: OwnershipBoundary[]; }; export declare function deriveInteractionManifest(state: CanonicalState, manifest: { name?: string; purpose?: string; governanceVersion?: string; }): AiInteractionManifest; export declare function writeAiInteractionManifest(synthDir: string, state: CanonicalState, manifest: { name?: string; purpose?: string; governanceVersion?: string; }): Promise;