/**
 * Message handler for POST /friday-next/messages
 *
 * Dispatches to the OpenClaw agent and streams native events via SSE (transparent proxy).
 *
 * **Owner / `nodes` tool visibility (OpenClaw):** With `tools.profile: "coding"`, add
 * `tools.alsoAllow: ["nodes"]` so profile filtering does not hide `nodes`. Bearer-authenticated
 * requests set `SenderId` and `OwnerAllowFrom` on the dispatch context so
 * `resolveCommandAuthorization` treats this device as owner when channel `allowFrom` is open
 * (empty / wildcard) and `commands.ownerAllowFrom` is not already a non-matching explicit list.
 */
import type { IncomingMessage, ServerResponse } from "node:http";
/** Subset of OpenClaw reply payload used for deliver translation (avoids static SDK import in tests). */
export type FridayReplyPayload = {
    text?: string;
    mediaUrls?: string[];
    mediaUrl?: string | null;
    isError?: boolean;
    audioAsVoice?: boolean;
    isReasoning?: boolean;
    isCompactionNotice?: boolean;
    interactive?: unknown;
    channelData?: unknown;
};
export interface FridayMessagePayload {
    deviceId: string;
    text: string;
    sessionKey: string;
    attachments?: string[];
    modelRef?: string;
    reasoningLevel?: string;
    thinkingLevel?: string;
}
export declare function handleMessages(req: IncomingMessage, res: ServerResponse): Promise<boolean>;
