import sqlite3 from 'sqlite3';
export interface Subtask {
    id: string;
    parentId: string;
    parentType: 'bug' | 'feature' | 'improvement';
    title: string;
    description: string;
    status: 'todo' | 'in_progress' | 'done' | 'blocked';
    priority: 'low' | 'medium' | 'high';
    assignee?: string;
    estimatedHours?: number;
    actualHours?: number;
    dependencies?: string[];
    dateCreated: string;
    dateCompleted?: string;
    orderIndex: number;
}
export declare class SubtaskManager {
    private tokenTracker;
    constructor();
    /**
     * Initialize subtasks database table
     */
    initSubtasksTable(db: sqlite3.Database): Promise<void>;
    /**
     * Create a new subtask
     */
    createSubtask(db: sqlite3.Database, args: any): Promise<string>;
    /**
     * List subtasks for a parent item
     */
    listSubtasks(db: sqlite3.Database, args: any): Promise<string>;
    /**
     * Update subtask status
     */
    updateSubtaskStatus(db: sqlite3.Database, args: any): Promise<string>;
    /**
     * Get subtask progress statistics
     */
    getSubtaskProgress(db: sqlite3.Database, args: any): Promise<string>;
    /**
     * Reorder subtasks
     */
    reorderSubtasks(db: sqlite3.Database, args: any): Promise<string>;
    /**
     * Delete a subtask
     */
    deleteSubtask(db: sqlite3.Database, args: any): Promise<string>;
    /**
     * Generate next subtask ID
     */
    private generateNextSubtaskId;
    /**
     * Get next order index for a parent
     */
    private getNextOrderIndex;
    /**
     * Format progress statistics
     */
    private formatProgressStats;
    /**
     * Auto-generate subtasks based on parent task and contexts
     */
    autoGenerateSubtasks(db: sqlite3.Database, parentId: string, parentType?: string, taskData?: any): Promise<Subtask[]>;
    /**
     * Get parent task details from database
     */
    private getParentTaskDetails;
    /**
     * Generate subtasks based on task type and content
     */
    private generateSubtasksForTaskType;
    /**
     * Generate subtasks for bug fixes
     */
    private generateBugSubtasks;
    /**
     * Generate subtasks for new features
     */
    private generateFeatureSubtasks;
    /**
     * Generate subtasks for improvements
     */
    private generateImprovementSubtasks;
    /**
     * Generate generic subtasks for unknown types
     */
    private generateGenericSubtasks;
    /**
     * Generate subtasks by grouping existing todos
     */
    generateSubtasksFromTodos(db: sqlite3.Database, args: any): Promise<string>;
    /**
     * Get existing subtasks for a task
     */
    private getExistingSubtasks;
    /**
     * Get todos for a task
     */
    private getTodosForTask;
    /**
     * Group todos into logical subtasks
     */
    private groupTodosIntoSubtasks;
    /**
     * Assign todos to a subtask
     */
    private assignTodosToSubtask;
    /**
     * Format subtasks list for display
     */
    private formatSubtasksList;
}
//# sourceMappingURL=subtasks.d.ts.map