import type { SatoriLogger, WatchSource, WhenPredicate, WhenCallback, WatchHandle, SatoriConfig } from "../core/types.js"; export declare class WatcherEngine { private logger; private config; private watchers; private whenHandlers; private circuitBreaker; private disposed; constructor(logger: SatoriLogger, config: SatoriConfig); watch(source: WatchSource, label?: string): WatchHandle; when(source: WatchSource, predicate: WhenPredicate, onTrigger: WhenCallback): WatchHandle; private disposeWatcher; private disposeWhenHandler; private generateId; private formatValue; /** * Get the number of active watchers */ getWatcherCount(): number; /** * Get circuit breaker state */ getCircuitState(): import("../core/types.js").CircuitState; /** * Dispose all watchers and clean up */ dispose(): void; /** * Check if the engine has been disposed */ isDisposed(): boolean; }