/**
 * Source-evaluator registry: source.type → evaluator.
 *
 * The engine looks up the evaluator by type and calls its poll-model `evaluate`.
 * Push-based sources (ws, webhook) return null from `evaluate` and deliver
 * observations through their `subscribe` instead.
 */
import type { MonitorSourceType, MonitorSource } from '../config.js';
import type { Observation, SourceEvaluator } from './types.js';
export type { Observation, SourceEvaluator, SourceSubscriber } from './types.js';
/** Poll-model evaluator per source type. */
export declare const SOURCE_EVALUATORS: Record<MonitorSourceType, SourceEvaluator>;
/** Evaluate one source snapshot. Returns null when the source is push-only or has nothing new. */
export declare function evaluateSource(source: MonitorSource): Promise<Observation | null>;
