/** * PollingScheduler — drives periodic collection from all registered connectors. * Persists lastPollTime to basePath/poll-state.json for crash recovery. */ import type { ConnectorRegistry } from './connector-registry.js'; import type { ChannelConfig } from './types.js'; import type { RawIndexSink, RawStore } from './raw-store.js'; import type { ClassifiedItems } from '../../memory/history-extractor.js'; type BatchExtractCallback = (classified: ClassifiedItems) => void | Promise; export declare class PollingScheduler { private readonly rawStore; private readonly rawIndexSink?; private lastPollTimes; private timers; private readonly stateFile; private isBatchRunning; /** Initial lookback for connectors with no saved state (default: 24h). Set to 0 for all history. */ initialLookbackMs: number; constructor(rawStore: RawStore, basePath: string, options?: { initialLookbackMs?: number; rawIndexSink?: RawIndexSink; }); private restoreState; persistState(): void; pollAll(registry: ConnectorRegistry, channelConfigs: Record>, onBatchExtract: BatchExtractCallback): Promise; startBatch(registry: ConnectorRegistry, channelConfigs: Record>, intervalMinutes: number, onBatchExtract: BatchExtractCallback): void; getLastPollTime(name: string): Date | undefined; /** Reset poll cursor for a connector to re-ingest from a given date. */ resetPollState(name: string, since?: Date): void; stop(): void; } export {}; //# sourceMappingURL=polling-scheduler.d.ts.map