import type { StoreEventEmitter } from '../store/event-emitter.js'; import type { ActivationArtifactReadModel, ActivationDecision, ActivationStateReadModel, ApprovalQueueStore, ChannelWriter, DispatchInput } from './activation-types.js'; export interface DispatcherConfig { writers: Iterable; approvalQueueStore?: ApprovalQueueStore; /** * Optional telemetry sink for observable degradation. When provided, the * dispatcher emits a `degradation_triggered` event when * `ChannelWriter.canActivate` throws, carrying the artifactId and original * error message (rc-9-no-silent-fallback; ERR-002). Optional so existing * callers continue to work; the structured `details` field on the returned * refused decision is the authoritative record regardless. */ eventEmitter?: StoreEventEmitter; } export declare class ActivationDispatcher { private readonly artifactReadModel; private readonly stateReadModel; private readonly writers; private readonly approvalQueueStore?; private readonly eventEmitter?; constructor(artifactReadModel: ActivationArtifactReadModel, stateReadModel: ActivationStateReadModel, config: DispatcherConfig); dispatch(input: DispatchInput): Promise; private enqueueForApproval; private activateArtifact; private readArtifact; private checkIdempotency; } //# sourceMappingURL=activation-dispatcher.d.ts.map