import { Logger } from './logger'; import { Message, MessageSource, MessageSink, MessageTransformer } from './source_sink_task'; export interface SourceSinkRunnerConfig { source: MessageSource; transformer?: MessageTransformer; sink?: MessageSink; logger?: Logger; delayMs?: number; errorHandler?: (error: Error, log: Logger, attemptCount: number, message: Message) => void; } /** * SourceSinkRunner polls the message source and sends to the message sink after running a transform on the message. * Note: With the source sink runner, the source is responsible for not sending duplicate messages. */ export declare class SourceSinkRunner { private config; private runningTask; private running; private log; constructor(config: SourceSinkRunnerConfig); run(): void; runOnce(): Promise; private processMessage; stop(): Promise; }