import { s as ReplyPayload } from "./types-_Bulr_t-.js";

//#region src/auto-reply/reply/reply-dispatcher.types.d.ts
type ReplyDispatchKind = "tool" | "block" | "final";
type ReplyDispatchBeforeDeliver = (payload: ReplyPayload, info: {
  kind: ReplyDispatchKind;
}) => Promise<ReplyPayload | null> | ReplyPayload | null;
type ReplyDispatcher = {
  sendToolResult: (payload: ReplyPayload) => boolean;
  sendBlockReply: (payload: ReplyPayload) => boolean;
  sendFinalReply: (payload: ReplyPayload) => boolean;
  appendBeforeDeliver?: (hook: ReplyDispatchBeforeDeliver) => void;
  waitForIdle: () => Promise<void>;
  getQueuedCounts: () => Record<ReplyDispatchKind, number>;
  getCancelledCounts?: () => Record<ReplyDispatchKind, number>;
  getFailedCounts: () => Record<ReplyDispatchKind, number>;
  markComplete: () => void;
};
//#endregion
export { ReplyDispatchKind as n, ReplyDispatcher as r, ReplyDispatchBeforeDeliver as t };