import type { BotConfig } from "../../config/config.js"; import type { TtsAutoMode } from "../../config/types.tts.js"; import type { FinalizedMsgContext } from "../templating.js"; import type { ReplyPayload } from "../types.js"; import type { ReplyDispatcher, ReplyDispatchKind } from "./reply-dispatcher.js"; export type AcpDispatchDeliveryMeta = { toolCallId?: string; allowEdit?: boolean; }; export type AcpDispatchDeliveryCoordinator = { startReplyLifecycle: () => Promise; deliver: (kind: ReplyDispatchKind, payload: ReplyPayload, meta?: AcpDispatchDeliveryMeta) => Promise; getBlockCount: () => number; getAccumulatedBlockText: () => string; getRoutedCounts: () => Record; applyRoutedCounts: (counts: Record) => void; }; export declare function createAcpDispatchDeliveryCoordinator(params: { cfg: BotConfig; ctx: FinalizedMsgContext; dispatcher: ReplyDispatcher; inboundAudio: boolean; sessionTtsAuto?: TtsAutoMode; ttsChannel?: string; shouldRouteToOriginating: boolean; originatingChannel?: string; originatingTo?: string; onReplyStart?: () => Promise | void; }): AcpDispatchDeliveryCoordinator;