/**
 * Task directory watcher
 *
 * Polls .takt/tasks.yaml for pending tasks and invokes a callback when found.
 * Uses polling (not fs.watch) for cross-platform reliability.
 */
import type { TaskInfo } from './types.js';
export interface TaskWatcherOptions {
    /** Polling interval in milliseconds (default: 2000) */
    pollInterval?: number;
}
export declare class TaskWatcher {
    private runner;
    private pollInterval;
    private running;
    private abortController;
    constructor(projectDir: string, options?: TaskWatcherOptions);
    /**
     * Start watching for tasks.
     * Resolves only when stop() is called.
     */
    watch(onTask: (task: TaskInfo) => Promise<void>): Promise<void>;
    /** Stop watching */
    stop(): void;
    /** Whether the watcher is currently active */
    isRunning(): boolean;
    /**
     * Sleep with abort support.
     * Resolves early if stop() is called.
     */
    private sleep;
}
//# sourceMappingURL=watcher.d.ts.map