export interface Task {
    id: string;
    title: string;
    description: string;
    status: "pending" | "in_progress" | "completed" | "failed" | "awaiting_approval";
    priority: "low" | "medium" | "high" | "critical";
    parentId?: string;
    children?: string[];
    metadata?: Record<string, any>;
    createdAt: string;
    updatedAt: string;
    dueDate?: string;
    estimatedTime?: number;
    actualTime?: number;
}
export interface Prompt {
    id: string;
    title: string;
    description: string;
    originalQuery: string;
    status: "draft" | "approved" | "executing" | "completed" | "failed";
    taskIds: string[];
    createdAt: string;
    updatedAt: string;
    metadata?: Record<string, any>;
}
export interface TaskList {
    id: string;
    name: string;
    description?: string;
    taskIds: string[];
    createdAt: string;
    updatedAt: string;
}
export interface WorkflowState {
    currentPromptId?: string;
    currentTaskId?: string;
    checkpointData?: Record<string, any>;
    executionLog: Array<{
        timestamp: string;
        action: string;
        taskId?: string;
        status: string;
        details?: any;
    }>;
}
export declare class TaskStore {
    private dataDir;
    private tasksPath;
    private promptsPath;
    private listsPath;
    private workflowPath;
    constructor(projectDir?: string);
    private validateProjectDir;
    initialize(): Promise<void>;
    private ensureFileExists;
    private readJsonFile;
    private writeJsonFile;
    createTask(taskData: Omit<Task, "id" | "createdAt" | "updatedAt">): Promise<Task>;
    getTask(id: string): Promise<Task | null>;
    getAllTasks(): Promise<Task[]>;
    updateTask(id: string, updates: Partial<Omit<Task, "id" | "createdAt">>): Promise<Task | null>;
    deleteTask(id: string): Promise<boolean>;
    createPrompt(promptData: Omit<Prompt, "id" | "createdAt" | "updatedAt">): Promise<Prompt>;
    getPrompt(id: string): Promise<Prompt | null>;
    getAllPrompts(): Promise<Prompt[]>;
    updatePrompt(id: string, updates: Partial<Omit<Prompt, "id" | "createdAt">>): Promise<Prompt | null>;
    createList(listData: Omit<TaskList, "id" | "createdAt" | "updatedAt">): Promise<TaskList>;
    getList(id: string): Promise<TaskList | null>;
    getAllLists(): Promise<TaskList[]>;
    getWorkflowState(): Promise<WorkflowState>;
    updateWorkflowState(updates: Partial<WorkflowState>): Promise<WorkflowState>;
    logWorkflowAction(action: string, status: string, taskId?: string, details?: any): Promise<void>;
    getTaskHierarchy(rootTaskId?: string): Promise<Task[]>;
    private buildHierarchy;
}
//# sourceMappingURL=task-store.d.ts.map