import type Database from 'better-sqlite3';
import type { TaskRecord, TaskStatus } from '../../types/task.types.js';
type CreateTaskData = Omit<TaskRecord, 'id' | 'created_at' | 'updated_at'>;
export declare class TaskRepository {
    private db;
    private stmts;
    constructor(db: Database.Database);
    create(data: CreateTaskData): number;
    getById(id: number): TaskRecord | undefined;
    findByProject(projectId: number, limit?: number): TaskRecord[];
    findByStatus(status: TaskStatus, projectId?: number, limit?: number): TaskRecord[];
    findSubtasks(parentTaskId: number): TaskRecord[];
    findAll(projectId?: number, limit?: number): TaskRecord[];
    search(query: string, limit?: number): TaskRecord[];
    update(id: number, data: Partial<TaskRecord>): void;
    addNote(id: number, note: string): void;
}
export {};
