import sqlite3 from 'sqlite3';
export interface Todo {
    id: string;
    subtaskId: string;
    parentId: string;
    description: string;
    completed: boolean;
    dateCreated: string;
    dateCompleted?: string;
    orderIndex: number;
}
export declare class TodoManager {
    private tokenTracker;
    constructor();
    /**
     * Initialize todos database table
     */
    initTodosTable(db: sqlite3.Database): Promise<void>;
    /**
     * Manage todos with various operations
     */
    manageTodos(db: sqlite3.Database, args: any): Promise<string>;
    /**
     * List todos for a subtask (auto-generates if none exist)
     */
    listTodos(db: sqlite3.Database, args: any): Promise<string>;
    /**
     * Create a new todo
     */
    createTodo(db: sqlite3.Database, args: any): Promise<string>;
    /**
     * Toggle todo completion status
     */
    toggleTodo(db: sqlite3.Database, args: any): Promise<string>;
    /**
     * Update todo description
     */
    updateTodo(db: sqlite3.Database, args: any): Promise<string>;
    /**
     * Delete a todo
     */
    deleteTodo(db: sqlite3.Database, args: any): Promise<string>;
    /**
     * Bulk toggle multiple todos
     */
    bulkToggleTodos(db: sqlite3.Database, args: any): Promise<string>;
    /**
     * Get todo completion statistics
     */
    getTodoCompletion(db: sqlite3.Database, args: any): Promise<string>;
    /**
     * Generate todos directly from a task (Bug/Feature/Improvement)
     */
    generateTodosFromTask(db: sqlite3.Database, args: any): Promise<string>;
    /**
     * Auto-generate todos for a subtask based on its content
     */
    autoGenerateTodos(db: sqlite3.Database, subtaskId: string, parentId?: string, parentType?: string, taskData?: any): Promise<Todo[]>;
    /**
     * Get subtask details from database
     */
    private getSubtaskDetails;
    /**
     * Generate todos based on subtask content and type
     */
    private generateTodosForSubtask;
    /**
     * Get parent ID from subtask
     */
    private getParentIdFromSubtask;
    /**
     * Generate next todo ID
     */
    private generateNextTodoId;
    /**
     * Get next order index for todos in a subtask
     */
    private getNextTodoOrderIndex;
    /**
     * Format todos list for display
     */
    private formatTodosList;
    /**
     * Format completion statistics
     */
    private formatCompletionStats;
    /**
     * Get existing todos for a task
     */
    private getExistingTodosForTask;
    /**
     * Get parent task details by ID and type
     */
    private getParentTaskDetails;
    /**
     * Generate todos based on task content (direct from task, not subtask)
     */
    private generateTodosForTask;
    /**
     * Generate bug-specific todos
     */
    private generateBugTodos;
    /**
     * Generate feature-specific todos
     */
    private generateFeatureTodos;
    /**
     * Generate improvement-specific todos
     */
    private generateImprovementTodos;
    /**
     * Generate next todo ID for a task
     */
    private generateNextTodoIdForTask;
}
//# sourceMappingURL=todos.d.ts.map