import type { AcpRuntimeEvent, AcpSessionUpdateTag } from "../../acp/runtime/types.js"; import type { OpenClawConfig } from "../../config/types.openclaw.js"; import type { ReplyPayload } from "../types.js"; import type { ReplyDispatchKind } from "./reply-dispatcher.types.js"; export type AcpProjectedDeliveryMeta = { tag?: AcpSessionUpdateTag; toolCallId?: string; toolStatus?: string; allowEdit?: boolean; }; export type AcpReplyProjector = { onEvent: (event: AcpRuntimeEvent) => Promise; flush: (force?: boolean) => Promise; }; export declare function createAcpReplyProjector(params: { cfg: OpenClawConfig; shouldSendToolSummaries: boolean; deliver: (kind: ReplyDispatchKind, payload: ReplyPayload, meta?: AcpProjectedDeliveryMeta) => Promise; onProgress?: () => void; provider?: string; accountId?: string; }): AcpReplyProjector;