/**
 * Returns `true` if the chokidar error indicates the OS-level watcher pool is
 * exhausted (inotify watches on Linux, open file descriptors on macOS/Linux).
 */
export declare function isWatcherExhaustionError(error: unknown): boolean;
/**
 * Polling-watch options to pass through to chokidar when falling back, for
 * watchers backed by a single file (a config.yaml etc.).
 *
 * Intervals are deliberately conservative — polling-based watching is
 * fundamentally less efficient than inotify, and once we're in this mode the
 * host is already under resource pressure. A second-scale interval keeps CPU
 * cost bounded; the alternative is to lose change events entirely.
 */
export declare const POLLING_FALLBACK_OPTIONS: {
    readonly usePolling: true;
    readonly interval: 1000;
    readonly binaryInterval: 2000;
};
/**
 * Polling-watch options for directory-tree watchers (EntryHandler). Chokidar
 * polls fs.stat on every watched file each interval, so a tree with thousands
 * of files at 1s would burn meaningful CPU; we trade responsiveness for cost
 * here on the assumption that the host is already strained.
 */
export declare const DIRECTORY_POLLING_FALLBACK_OPTIONS: {
    readonly usePolling: true;
    readonly interval: 3000;
    readonly binaryInterval: 5000;
};
/**
 * Log a one-time warning when a watcher first falls back to polling. Subsequent
 * fallbacks in the same process are silent.
 */
export declare function warnWatcherFallback(watchedPath: string): void;
export declare function _resetForTests(): void;
