import type { Database } from "bun:sqlite";
import type { Plan, Project, Task, TaskPriority } from "../types/index.js";
export interface NaturalLanguageProjectPreview {
    name: string;
    description: string | null;
    path: string;
}
export interface NaturalLanguagePlanPreview {
    name: string;
    description: string | null;
}
export interface NaturalLanguageDependencyPreview {
    task_title: string;
    depends_on_title: string;
    resolved: boolean;
}
export interface NaturalLanguageTaskPreview {
    title: string;
    description: string | null;
    priority: TaskPriority;
    tags: string[];
    assigned_to: string | null;
    due_at: string | null;
    depends_on: string[];
    acceptance_criteria: string[];
}
export interface NaturalLanguageIntakeInput {
    text: string;
    project_id?: string;
    task_list_id?: string;
    default_priority?: TaskPriority;
    reference_date?: string;
    apply?: boolean;
}
export interface NaturalLanguageIntakePreview {
    schema_version: 1;
    local_only: true;
    dry_run: boolean;
    source_text: string;
    project_id: string | null;
    task_list_id: string | null;
    detected_project_name: string | null;
    detected_plan_name: string | null;
    project: NaturalLanguageProjectPreview | null;
    plan: NaturalLanguagePlanPreview | null;
    tasks: NaturalLanguageTaskPreview[];
    dependencies: NaturalLanguageDependencyPreview[];
    acceptance_criteria: string[];
    created_project: Project | null;
    created_plan: Plan | null;
    created_tasks: Task[];
    warnings: string[];
    commands: string[];
}
export declare function previewNaturalLanguageIntake(input: NaturalLanguageIntakeInput, db?: Database): NaturalLanguageIntakePreview;
//# sourceMappingURL=natural-language-intake.d.ts.map