/**
 * File source evaluator.
 *
 * The observation is the file's content (bounded) plus mtime/size in meta, so an
 * on-change monitor fires on any edit. For a directory, the observation is a
 * sorted listing with per-entry mtime/size. Push-follow reuses followFile
 * (lib/log-follow.ts) — the same cross-platform tail the routines log viewer uses.
 */
import type { MonitorSource } from '../config.js';
import type { Observation } from './types.js';
/** Snapshot the file (or directory) as the observation. */
export declare function evaluate(source: MonitorSource): Promise<Observation | null>;
/** Push-follow the file, emitting each appended chunk as an observation. */
export declare function subscribe(source: MonitorSource, onObs: (obs: Observation) => void): () => void;
