import type { ExternalObservationInput, ExternalSourceArmingLike, ExternalSourceServiceLike } from "./core-capabilities.js"; /** @public */ type Arming = Pick; /** Report one poll's effects without choosing events, scheduling, or subscription policy. @public */ export declare function createExternalSourcePollReporter(sources: ExternalSourceServiceLike, result: { /** @public */ created: string[]; /** @public */ errors: string[]; }, options?: { /** @public */ forwardGeneration?: boolean; /** Live source kinds checked before fire and observe. @public */ currentKinds?: readonly string[]; }): ExternalSourcePollReporter; /** Effects of one poll, with caller-selected scheduling and event policy. @public */ export interface ExternalSourcePollReporter { /** @public */ poll(kind: string, read: (armed: ExternalSourceArmingLike) => Promise): Promise; /** @public */ fire(armed: Arming, event: Record, mergeKey: string): Promise; /** @public */ observe(armed: Arming, input: Pick): ReturnType> | undefined; /** Compare the captured identity, generation and resolved value with a live subscription. @public */ isCurrent(kind: string, armed: Arming): boolean; } export {}; //# sourceMappingURL=external-source-poll.d.ts.map