import type { BlockReplyContext, ReplyPayload, ReplyThreadingPolicy } from "../types.js"; import type { BlockReplyPipeline } from "./block-reply-pipeline.js"; import type { TypingSignaler } from "./typing-mode.js"; export type ReplyDirectiveParseMode = "always" | "auto" | "never"; export declare function normalizeReplyPayloadDirectives(params: { payload: ReplyPayload; currentMessageId?: string; silentToken?: string; trimLeadingWhitespace?: boolean; parseMode?: ReplyDirectiveParseMode; extractMarkdownImages?: boolean; }): { payload: ReplyPayload; isSilent: boolean; }; export declare function createBlockReplyDeliveryHandler(params: { onBlockReply: (payload: ReplyPayload, context?: BlockReplyContext) => Promise | void; currentMessageId?: string; replyThreading?: ReplyThreadingPolicy; normalizeStreamingText: (payload: ReplyPayload) => { text?: string; skip: boolean; }; applyReplyToMode: (payload: ReplyPayload) => ReplyPayload; normalizeMediaPaths?: (payload: ReplyPayload) => Promise; typingSignals: TypingSignaler; blockStreamingEnabled: boolean; blockReplyPipeline: BlockReplyPipeline | null; directlySentBlockKeys: Set; }): (payload: ReplyPayload) => Promise;