import { BlueNode, ResolvedBlueNode } from '@blue-labs/language'; import { ContractBundle, ChannelBinding, HandlerBinding } from './contract-bundle.js'; import { DocumentProcessingRuntime } from '../runtime/document-processing-runtime.js'; import { CheckpointManager } from './checkpoint-manager.js'; import { ProcessorExecutionContext } from './processor-execution-context.js'; import { ChannelMatch, ChannelProcessor } from '../registry/types.js'; export type { ChannelMatch } from '../registry/types.js'; export interface ChannelRunnerDependencies { evaluateChannel(channel: ChannelBinding, bundle: ContractBundle, scopePath: string, event: BlueNode): Promise; isScopeInactive(scopePath: string): boolean; createContext(scopePath: string, bundle: ContractBundle, event: BlueNode, allowTerminatedWork: boolean): ProcessorExecutionContext; shouldRunHandler(handler: HandlerBinding, context: ProcessorExecutionContext): Promise; executeHandler(handler: HandlerBinding, context: ProcessorExecutionContext): Promise; handleHandlerError(scopePath: string, bundle: ContractBundle, error: unknown): Promise; canonicalSignature(node: BlueNode | null): string | null; channelProcessorFor(node: BlueNode): ChannelProcessor | null; } export declare class ChannelRunner { private readonly runtime; private readonly checkpointManager; private readonly deps; constructor(runtime: DocumentProcessingRuntime, checkpointManager: CheckpointManager, deps: ChannelRunnerDependencies); runExternalChannel(scopePath: string, bundle: ContractBundle, channel: ChannelBinding, event: ResolvedBlueNode): Promise; private runDeliveries; runHandlers(scopePath: string, bundle: ContractBundle, channelKey: string, event: BlueNode, allowTerminatedWork: boolean): Promise; private shouldProcessRelativeToCheckpoint; } //# sourceMappingURL=channel-runner.d.ts.map