/**
 * TodoManager - MVCC-based Optimistic Locking with Mutex for TODO Synchronization
 */
export interface TodoVersion {
    version: number;
    timestamp: number;
    author: string;
}
export interface TodoData {
    content: string;
    version: TodoVersion;
}
export declare class TodoManager {
    private static _instance;
    private directory;
    private todoPath;
    private versionPath;
    private historyPath;
    private updateMutex;
    private constructor();
    static getInstance(directory?: string): TodoManager;
    setDirectory(dir: string): void;
    readWithVersion(): Promise<TodoData>;
    /**
     * Update TODO with both MVCC (for logical consistency) and Mutex (for atomicity)
     */
    update(expectedVersion: number, updater: (content: string) => string, author: string): Promise<{
        success: boolean;
        currentVersion: number;
        conflict?: boolean;
    }>;
    private _internalUpdate;
    updateItem(searchText: string, newStatus: string, author?: string): Promise<boolean>;
    addSubTask(parentText: string, subTaskText: string, author?: string): Promise<boolean>;
    private logChange;
}
