import type { SourceReplyDeliveryMode } from "../../auto-reply/get-reply-options.types.js"; import type { ReplyPayload } from "../../auto-reply/reply-payload.js"; import { type SourceReplyDeliveryModeContext } from "../../auto-reply/reply/source-reply-delivery-mode.js"; import type { KlawConfig } from "../../config/types.klaw.js"; import { createReplyPrefixContext, createReplyPrefixOptions, type ReplyPrefixContextBundle, type ReplyPrefixOptions } from "../reply-prefix.js"; import { createTypingCallbacks, type CreateTypingCallbacksParams, type TypingCallbacks } from "../typing.js"; export type ReplyPrefixContext = ReplyPrefixContextBundle["prefixContext"]; export type { ReplyPrefixContextBundle, ReplyPrefixOptions }; export type { CreateTypingCallbacksParams, TypingCallbacks }; export { createReplyPrefixContext, createReplyPrefixOptions, createTypingCallbacks }; export type { SourceReplyDeliveryMode }; export declare function resolveChannelSourceReplyDeliveryMode(params: { cfg: KlawConfig; ctx: SourceReplyDeliveryModeContext; requested?: SourceReplyDeliveryMode; messageToolAvailable?: boolean; }): SourceReplyDeliveryMode; export type ChannelReplyPipeline = ReplyPrefixOptions & { typingCallbacks?: TypingCallbacks; transformReplyPayload?: (payload: ReplyPayload) => ReplyPayload | null; }; export type CreateChannelReplyPipelineParams = { cfg: Parameters[0]["cfg"]; agentId: string; channel?: string; accountId?: string; typing?: CreateTypingCallbacksParams; typingCallbacks?: TypingCallbacks; transformReplyPayload?: (payload: ReplyPayload) => ReplyPayload | null; }; export declare function createChannelReplyPipeline(params: CreateChannelReplyPipelineParams): ChannelReplyPipeline;