export interface Category { id: string; label: string; prefix: string; description: string; } export declare const DEFAULT_CATEGORIES: Category[]; export interface RawRequirement { id_suggestion: string; title: string; summary: string; page_range: string; raw_text: string; } export interface ClassifiedRequirement extends RawRequirement { category: string; categories: string[]; prefix: string; seq: number; filename: string; } export interface GeneratedRequirement extends ClassifiedRequirement { markdown: string; gherkin?: string; } export type OutputFormat = "markdown" | "json" | "both"; export type LlmProvider = "ollama" | "openai" | "ide"; export interface ExtractionConfig { pdfPath: string; outputDir: string; projectPrefix?: string; categories?: Category[]; model?: string; ollamaUrl?: string; /** LLM provider: "ollama" (local), "openai" (any OpenAI-compatible cloud API), or "ide" (uses heuristics, no external LLM needed — the IDE AI handles generation) */ provider?: LlmProvider; /** API key for cloud providers (required when provider is "openai") */ apiKey?: string; outputFormat?: OutputFormat; context?: string; urls?: string[]; /** If set, only generate requirements for these category IDs (e.g. ["frontend", "mobile"]) */ filterCategories?: string[]; /** If set, limit to this many requirements per category (useful for testing) */ maxPerCategory?: number; } export interface JsonRequirement { id: string; title: string; category: string; categories: string[]; category_label: string; category_labels: string[]; type: string; page_range: string; description: string; acceptance_criteria: string[]; gherkin?: string; } export interface ExtractionResult { success: boolean; outputDir: string; totalRequirements: number; byCategory: Record; files: string[]; errors: string[]; } export interface ExtractionCallbacks { onProgress?: (message: string) => void; onIdentified?: (totalRaw: number) => void; onClassified?: (totalToGenerate: number) => void; onRequirement?: (req: JsonRequirement, index: number, total: number) => void; } export interface PdfChunk { text: string; startPage: number; endPage: number; } export interface OllamaResponse { response: string; done: boolean; } export type { HeuristicMatch, Language, Confidence } from "./heuristics.js"; export type { RequirementWarning, RequirementAnalysis, WarningSeverity } from "./requirement-analyzer.js"; //# sourceMappingURL=types.d.ts.map