import type { TaskRepository } from '../db/repositories/task.repository.js';
import type { MemoryRepository } from '../db/repositories/memory.repository.js';
import type { DecisionRepository } from '../db/repositories/decision.repository.js';
import type { ChangelogRepository } from '../db/repositories/changelog.repository.js';
import type { ProjectRepository } from '../db/repositories/project.repository.js';
import type { SynapseManager } from '../synapses/synapse-manager.js';
import type { TaskRecord, AddTaskInput, UpdateTaskInput, ListTasksInput } from '../types/task.types.js';
export declare class TaskService {
    private taskRepo;
    private memoryRepo;
    private decisionRepo;
    private changelogRepo;
    private projectRepo;
    private synapseManager;
    private logger;
    constructor(taskRepo: TaskRepository, memoryRepo: MemoryRepository, decisionRepo: DecisionRepository, changelogRepo: ChangelogRepository, projectRepo: ProjectRepository, synapseManager: SynapseManager);
    addTask(input: AddTaskInput & {
        project?: string;
    }): {
        taskId: number;
    };
    updateTask(id: number, input: UpdateTaskInput & {
        note?: string;
    }): TaskRecord | undefined;
    listTasks(input?: ListTasksInput): TaskRecord[];
    getById(id: number): TaskRecord | undefined;
    getTaskContext(id: number): {
        task: TaskRecord | undefined;
        subtasks: TaskRecord[];
        memories: unknown[];
        decisions: unknown[];
        changes: unknown[];
    };
    searchTasks(query: string, limit?: number): TaskRecord[];
}
