import type { UserContent } from "ai";
import type { ActivityObserverConfig, SessionCallback, SessionCapabilities, TaskDeliveryPolicy } from "#channel/types.js";
import type { JsonObject } from "#shared/json.js";
import type { RunMode } from "#shared/run-mode.js";
export interface ParsedCreateBody {
    taskDeliveryPolicy?: TaskDeliveryPolicy;
    activityObserver?: ActivityObserverConfig;
    callback?: SessionCallback;
    capabilities?: SessionCapabilities;
    message?: string | UserContent;
    mode?: RunMode;
    context?: readonly string[];
    operationId?: string;
    outputSchema?: JsonObject;
}
/** Enforces the fields that only make sense when creation also starts a turn. */
export declare function validateMessageFreeCreate(input: {
    readonly activityObserver: ActivityObserverConfig | undefined;
    readonly callback: SessionCallback | undefined;
    readonly hasClientContext: boolean;
    readonly hasMessageField: boolean;
    readonly message: string | UserContent | undefined;
    readonly mode: RunMode | undefined;
    readonly outputSchema: JsonObject | undefined;
}): Response | undefined;
