import { z } from "zod"; export declare const ObjectiveSchema: z.ZodObject<{ description: z.ZodString; priority: z.ZodDefault>>>; }, "strip", z.ZodTypeAny, { description: string; priority: "low" | "medium" | "high"; }, { description: string; priority?: unknown; }>; export declare const RequirementSchema: z.ZodObject<{ description: z.ZodString; type: z.ZodDefault>>; priority: z.ZodDefault>>>; }, "strip", z.ZodTypeAny, { type: "functional" | "non-functional"; description: string; priority: "low" | "medium" | "high"; }, { description: string; type?: "functional" | "non-functional" | undefined; priority?: unknown; }>; export declare const SpecKitInputSchema: z.ZodObject<{ title: z.ZodString; overview: z.ZodString; objectives: z.ZodDefault>>>; }, "strip", z.ZodTypeAny, { description: string; priority: "low" | "medium" | "high"; }, { description: string; priority?: unknown; }>, "many">>; requirements: z.ZodArray>>; priority: z.ZodDefault>>>; }, "strip", z.ZodTypeAny, { type: "functional" | "non-functional"; description: string; priority: "low" | "medium" | "high"; }, { description: string; type?: "functional" | "non-functional" | undefined; priority?: unknown; }>, "many">; acceptanceCriteria: z.ZodDefault>>; outOfScope: z.ZodDefault>>; constitutionPath: z.ZodOptional; validateAgainstConstitution: z.ZodDefault>; }, "strip", z.ZodTypeAny, { title: string; requirements: { type: "functional" | "non-functional"; description: string; priority: "low" | "medium" | "high"; }[]; objectives: { description: string; priority: "low" | "medium" | "high"; }[]; overview: string; acceptanceCriteria: string[]; outOfScope: string[]; validateAgainstConstitution: boolean; constitutionPath?: string | undefined; }, { title: string; requirements: { description: string; type?: "functional" | "non-functional" | undefined; priority?: unknown; }[]; overview: string; objectives?: { description: string; priority?: unknown; }[] | undefined; acceptanceCriteria?: string[] | undefined; outOfScope?: string[] | undefined; constitutionPath?: string | undefined; validateAgainstConstitution?: boolean | undefined; }>; export type SpecKitInput = z.infer; export type Objective = z.infer; export type Requirement = z.infer; export interface MarkdownSection { title: string; content: string; generatedAt: Date; tokenEstimate: number; } export interface ValidationIssue { ruleId: string; message: string; severity: "error" | "warning"; location?: string; } export interface ValidationResult { isValid: boolean; score: number; errors: ValidationIssue[]; warnings: ValidationIssue[]; recommendations: string[]; } export interface ConstitutionRule { id: string; description: string; severity: "error" | "warning"; check: (state: SessionState) => boolean; } export interface ConstitutionConstraints { path: string; loadedAt: Date; rules: ConstitutionRule[]; } export interface SessionState { input: SpecKitInput; constitution: ConstitutionConstraints | null; sections: { readme: MarkdownSection | null; spec: MarkdownSection | null; plan: MarkdownSection | null; tasks: MarkdownSection | null; progress: MarkdownSection | null; adr: MarkdownSection | null; roadmap: MarkdownSection | null; }; metadata: { startedAt: Date; totalTokensEstimate: number; warnings: string[]; }; } export interface OutputArtifacts { readme: string; spec: string; plan: string; tasks: string; progress: string; adr: string; roadmap: string; } export interface ProcessingStats { totalDuration: number; documentsGenerated: number; totalTokens: number; warnings: string[]; } export interface SpecKitOutput { artifacts: OutputArtifacts; validation: ValidationResult | null; stats: ProcessingStats; } export declare function createInitialSessionState(input: SpecKitInput): SessionState; export declare function createDefaultOutput(): SpecKitOutput; //# sourceMappingURL=types.d.ts.map