export type InterpretationDirection = "explicit_objective" | "implicit_objective" | "forbidden" | "allowed" | "unknown"; export type IntentInterpretation = { kind: InterpretationDirection; text: string; evidence?: string[]; }; export type IntentModelStatus = "draft" | "awaiting_clarification" | "sufficient" | "insufficient" | "superseded"; export type IntentModel = { id: string; rawIntentReference: string; explicitObjectives: string[]; implicitObjectives: string[]; audience?: string; problemStatement?: string; desiredOutcome?: string; nonGoals: string[]; forbiddenInterpretations: string[]; allowedInterpretations: string[]; interpretations: IntentInterpretation[]; referenceEvidenceIds: string[]; confidenceLevel: number; unresolvedAmbiguity: string[]; knownUnknowns: string[]; status: IntentModelStatus; version: number; createdAt: number; updatedAt: number; }; export type IntentModelInput = { rawIntentReference: string; explicitObjectives: string[]; implicitObjectives?: string[]; audience?: string; problemStatement?: string; desiredOutcome?: string; nonGoals?: string[]; forbiddenInterpretations?: string[]; allowedInterpretations?: string[]; interpretations?: IntentInterpretation[]; referenceEvidenceIds?: string[]; unresolvedAmbiguity?: string[]; knownUnknowns?: string[]; }; export type IntentModelValidationResult = { valid: boolean; errors: string[]; }; export declare function validateIntentModel(model: unknown): IntentModelValidationResult; /** Compute a simple confidence score based on required evidence. */ export declare function computeConfidence(input: IntentModelInput): number; export type ConstructionContext = { /** Explicit identifier. Omit to generate one from the timestamp and random suffix. */ id?: string; /** Explicit timestamp. Omit to use the current wall-clock time. */ timestamp?: number; }; /** Create a new Intent Model from raw input. */ export declare function createIntentModel(input: IntentModelInput, ctx?: ConstructionContext): IntentModel; /** Revise an existing Intent Model. */ export declare function reviseIntentModel(model: IntentModel, input: Partial, timestamp?: number): IntentModel; /** Mark an Intent Model as superseded. */ export declare function supersedeIntentModel(model: IntentModel, timestamp?: number): IntentModel;