import type { AURAConfig } from "../config/config.js"; import type { DispatchFromConfigResult } from "./reply/dispatch-from-config.js"; import { type ReplyDispatcher, type ReplyDispatcherOptions, type ReplyDispatcherWithTypingOptions } from "./reply/reply-dispatcher.js"; import type { FinalizedMsgContext, MsgContext } from "./templating.js"; import type { GetReplyOptions } from "./types.js"; export type DispatchInboundResult = DispatchFromConfigResult & { /** Indicates that the message was blocked due to invalid API key */ apiKeyBlocked?: boolean; /** Indicates that the message was an API key input */ apiKeyInputHandled?: boolean; /** Result message from API key input handling */ apiKeyResultMessage?: string; }; /** * Get the API key required message */ export declare function getApiKeyRequiredMessage(): string; /** * Check if API key validation is enabled */ export declare function isApiKeyEnabled(cfg: AURAConfig): boolean; export declare function withReplyDispatcher(params: { dispatcher: ReplyDispatcher; run: () => Promise; onSettled?: () => void | Promise; }): Promise; export declare function dispatchInboundMessage(params: { ctx: MsgContext | FinalizedMsgContext; cfg: AURAConfig; dispatcher: ReplyDispatcher; replyOptions?: Omit; replyResolver?: typeof import("./reply.js").getReplyFromConfig; }): Promise; export declare function dispatchInboundMessageWithBufferedDispatcher(params: { ctx: MsgContext | FinalizedMsgContext; cfg: AURAConfig; dispatcherOptions: ReplyDispatcherWithTypingOptions; replyOptions?: Omit; replyResolver?: typeof import("./reply.js").getReplyFromConfig; }): Promise; export declare function dispatchInboundMessageWithDispatcher(params: { ctx: MsgContext | FinalizedMsgContext; cfg: AURAConfig; dispatcherOptions: ReplyDispatcherOptions; replyOptions?: Omit; replyResolver?: typeof import("./reply.js").getReplyFromConfig; }): Promise;