import { type Task, type TaskUpdateInput, type TaskListFilters } from 'simple-task-master';
import { TaskContent } from '../types/stm-types.js';
export declare class STMError extends Error {
    readonly operation: string;
    readonly cause?: Error | undefined;
    constructor(message: string, operation: string, cause?: Error | undefined);
}
export interface STMManagerConfig {
    tasksDir?: string;
    maxTaskSizeBytes?: number;
    maxTitleLength?: number;
    maxDescriptionLength?: number;
}
export declare class STMManager {
    private taskManager;
    private initializationPromise;
    private readonly config;
    constructor(config?: STMManagerConfig);
    private ensureInitialized;
    private initializeTaskManager;
    createTask(title: string, content: TaskContent): Promise<string>;
    getTask(id: string): Promise<Task | null>;
    listTasks(filters?: TaskListFilters): Promise<Task[]>;
    updateTask(id: string, updates: TaskUpdateInput): Promise<Task>;
    markTaskComplete(id: string): Promise<Task>;
    markTaskInProgress(id: string): Promise<Task>;
    updateTaskStatus(id: string, status: string): Promise<Task>;
    searchTasks(searchPattern: string, options?: {
        ignoreCase?: boolean;
        status?: 'pending' | 'in-progress' | 'done';
        tags?: string[];
    }): Promise<Task[]>;
    isInitialized(): boolean;
    reset(): void;
    getTaskSections(taskId: string): Promise<{
        description?: string;
        details?: string;
        validation?: string;
    }>;
    private parseTaskId;
    private wrapError;
    private formatTaskContent;
    private formatDescription;
    private formatDetails;
    private formatValidation;
    private buildTaskTags;
}
