/**
 * PMO Board Watcher
 *
 * Watches board.md for changes and automatically syncs to SQLite database.
 * Uses chokidar for efficient cross-platform file watching.
 *
 * Features:
 * - Debounced sync (waits for file to stabilize before syncing)
 * - Hybrid mtime + content detection (avoids unnecessary syncs)
 * - Graceful shutdown handling
 */
export interface WatcherOptions {
    /** Debounce delay in milliseconds (default: 500) */
    debounceMs?: number;
    /** Logger function for status messages */
    logger?: (msg: string) => void;
    /** Callback when sync occurs */
    onSync?: (stats: SyncStats) => void;
    /** Callback on error */
    onError?: (error: Error) => void;
}
export interface SyncStats {
    syncedAt: Date;
    ticketCount: number;
    durationMs: number;
}
export interface WatcherInstance {
    /** Stop watching */
    stop: () => Promise<void>;
    /** Force a sync now */
    syncNow: () => Promise<SyncStats>;
    /** Check if watcher is running */
    isRunning: () => boolean;
}
/**
 * Start watching kanban.md for changes
 */
export declare function startWatcher(pmoPath: string, storageType: 'sqlite' | 'git', options?: WatcherOptions, projectId?: string): WatcherInstance;
/**
 * Run watcher as a foreground process (for CLI command)
 * Uses centralized signal handler for graceful shutdown
 */
export declare function runWatcherForeground(pmoPath: string, storageType: 'sqlite' | 'git', options?: WatcherOptions): Promise<void>;
