import type { IncomingMessage, PlatformAdapter } from '../platform/index.js'; import type { AttachmentMeta } from '../domain/ui-service/types.js'; import { type AgentRunnerCtx } from './agent-runner.js'; import type { TurnMutationRelease } from './turn-mutation-lock.js'; /** Sender id for web-originated user turns. Distinct from SYNTHETIC_CALLBACK_SENDER so the message * flows through route as a real user message (not a self-consumed callback). */ export declare const WEB_UI_SENDER = "cortex-web-ui"; export declare function buildWebUserMessage(channel: string, text: string, attachments?: AttachmentMeta[]): IncomingMessage; /** * Fire-and-forget: build a genuine user message for `channel` and route it through the agent. * `route` is injectable for tests; defaults to the agentRunner singleton. Errors are swallowed * (the assistant reply and any failure surface via the session's normal channels, not here). */ export declare function sendWebUserMessage(opts: { channel: string; text: string; attachments?: AttachmentMeta[]; adapter: PlatformAdapter; mutationRelease?: TurnMutationRelease; route?: (ctx: AgentRunnerCtx) => Promise; }): void;