import { z } from "zod";
export declare const UI_STREAM_HOST_CONTEXT_KEY = "spectral-mcp-adapter/stream";
export declare const UI_STREAM_REQUEST_META_KEY = "spectral-mcp-adapter/stream-token";
export declare const UI_STREAM_RESULT_PATCH_METHOD = "notifications/spectral-mcp-adapter/ui-result-patch";
export declare const SERVER_STREAM_RESULT_PATCH_METHOD = "notifications/spectral-mcp-adapter/result-patch";
export declare const UI_STREAM_STRUCTURED_CONTENT_KEY = "spectral-mcp-adapter/stream";
export declare const uiStreamModeSchema: z.ZodEnum<["eager", "stream-first"]>;
export type UiStreamMode = z.infer<typeof uiStreamModeSchema>;
export declare const visualizationStreamPhaseSchema: z.ZodEnum<["shell", "narrative", "structure", "detail", "settled"]>;
export type VisualizationStreamPhase = z.infer<typeof visualizationStreamPhaseSchema>;
export declare const visualizationStreamFrameTypeSchema: z.ZodEnum<["patch", "checkpoint", "final"]>;
export type VisualizationStreamFrameType = z.infer<typeof visualizationStreamFrameTypeSchema>;
export declare const visualizationStreamStatusSchema: z.ZodEnum<["ok", "error"]>;
export type VisualizationStreamStatus = z.infer<typeof visualizationStreamStatusSchema>;
export declare const uiStreamHostContextSchema: z.ZodObject<{
    mode: z.ZodEnum<["eager", "stream-first"]>;
    streamId: z.ZodString;
    intermediateResultPatches: z.ZodBoolean;
    partialInput: z.ZodBoolean;
}, "strip", z.ZodTypeAny, {
    mode: "eager" | "stream-first";
    streamId: string;
    intermediateResultPatches: boolean;
    partialInput: boolean;
}, {
    mode: "eager" | "stream-first";
    streamId: string;
    intermediateResultPatches: boolean;
    partialInput: boolean;
}>;
export type UiStreamHostContext = z.infer<typeof uiStreamHostContextSchema>;
export declare const visualizationStreamEnvelopeSchema: z.ZodObject<{
    streamId: z.ZodString;
    sequence: z.ZodNumber;
    frameType: z.ZodEnum<["patch", "checkpoint", "final"]>;
    phase: z.ZodEnum<["shell", "narrative", "structure", "detail", "settled"]>;
    status: z.ZodEnum<["ok", "error"]>;
    message: z.ZodOptional<z.ZodString>;
    spec: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    checkpoint: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
}, "strip", z.ZodTypeAny, {
    status: "error" | "ok";
    streamId: string;
    sequence: number;
    frameType: "patch" | "checkpoint" | "final";
    phase: "settled" | "shell" | "narrative" | "structure" | "detail";
    message?: string | undefined;
    spec?: Record<string, unknown> | undefined;
    checkpoint?: Record<string, unknown> | undefined;
}, {
    status: "error" | "ok";
    streamId: string;
    sequence: number;
    frameType: "patch" | "checkpoint" | "final";
    phase: "settled" | "shell" | "narrative" | "structure" | "detail";
    message?: string | undefined;
    spec?: Record<string, unknown> | undefined;
    checkpoint?: Record<string, unknown> | undefined;
}>;
export type VisualizationStreamEnvelope = z.infer<typeof visualizationStreamEnvelopeSchema>;
export declare const uiStreamCallToolResultSchema: z.ZodObject<{
    content: z.ZodOptional<z.ZodArray<z.ZodUnknown, "many">>;
    structuredContent: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    isError: z.ZodOptional<z.ZodBoolean>;
    _meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
    content: z.ZodOptional<z.ZodArray<z.ZodUnknown, "many">>;
    structuredContent: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    isError: z.ZodOptional<z.ZodBoolean>;
    _meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
    content: z.ZodOptional<z.ZodArray<z.ZodUnknown, "many">>;
    structuredContent: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    isError: z.ZodOptional<z.ZodBoolean>;
    _meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
}, z.ZodTypeAny, "passthrough">>;
export type UiStreamCallToolResult = z.infer<typeof uiStreamCallToolResultSchema>;
export declare const uiStreamResultPatchNotificationSchema: z.ZodObject<{
    method: z.ZodLiteral<"notifications/spectral-mcp-adapter/ui-result-patch">;
    params: z.ZodObject<{
        content: z.ZodOptional<z.ZodArray<z.ZodUnknown, "many">>;
        structuredContent: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
        isError: z.ZodOptional<z.ZodBoolean>;
        _meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        content: z.ZodOptional<z.ZodArray<z.ZodUnknown, "many">>;
        structuredContent: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
        isError: z.ZodOptional<z.ZodBoolean>;
        _meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        content: z.ZodOptional<z.ZodArray<z.ZodUnknown, "many">>;
        structuredContent: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
        isError: z.ZodOptional<z.ZodBoolean>;
        _meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    }, z.ZodTypeAny, "passthrough">>;
}, "strip", z.ZodTypeAny, {
    method: "notifications/spectral-mcp-adapter/ui-result-patch";
    params: {
        content?: unknown[] | undefined;
        isError?: boolean | undefined;
        structuredContent?: Record<string, unknown> | undefined;
        _meta?: Record<string, unknown> | undefined;
    } & {
        [k: string]: unknown;
    };
}, {
    method: "notifications/spectral-mcp-adapter/ui-result-patch";
    params: {
        content?: unknown[] | undefined;
        isError?: boolean | undefined;
        structuredContent?: Record<string, unknown> | undefined;
        _meta?: Record<string, unknown> | undefined;
    } & {
        [k: string]: unknown;
    };
}>;
export type UiStreamResultPatchNotification = z.infer<typeof uiStreamResultPatchNotificationSchema>;
export declare const serverStreamResultPatchNotificationSchema: z.ZodObject<{
    method: z.ZodLiteral<"notifications/spectral-mcp-adapter/result-patch">;
    params: z.ZodObject<{
        streamToken: z.ZodString;
        result: z.ZodObject<{
            content: z.ZodOptional<z.ZodArray<z.ZodUnknown, "many">>;
            structuredContent: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
            isError: z.ZodOptional<z.ZodBoolean>;
            _meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            content: z.ZodOptional<z.ZodArray<z.ZodUnknown, "many">>;
            structuredContent: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
            isError: z.ZodOptional<z.ZodBoolean>;
            _meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            content: z.ZodOptional<z.ZodArray<z.ZodUnknown, "many">>;
            structuredContent: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
            isError: z.ZodOptional<z.ZodBoolean>;
            _meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
        }, z.ZodTypeAny, "passthrough">>;
    }, "strip", z.ZodTypeAny, {
        result: {
            content?: unknown[] | undefined;
            isError?: boolean | undefined;
            structuredContent?: Record<string, unknown> | undefined;
            _meta?: Record<string, unknown> | undefined;
        } & {
            [k: string]: unknown;
        };
        streamToken: string;
    }, {
        result: {
            content?: unknown[] | undefined;
            isError?: boolean | undefined;
            structuredContent?: Record<string, unknown> | undefined;
            _meta?: Record<string, unknown> | undefined;
        } & {
            [k: string]: unknown;
        };
        streamToken: string;
    }>;
}, "strip", z.ZodTypeAny, {
    method: "notifications/spectral-mcp-adapter/result-patch";
    params: {
        result: {
            content?: unknown[] | undefined;
            isError?: boolean | undefined;
            structuredContent?: Record<string, unknown> | undefined;
            _meta?: Record<string, unknown> | undefined;
        } & {
            [k: string]: unknown;
        };
        streamToken: string;
    };
}, {
    method: "notifications/spectral-mcp-adapter/result-patch";
    params: {
        result: {
            content?: unknown[] | undefined;
            isError?: boolean | undefined;
            structuredContent?: Record<string, unknown> | undefined;
            _meta?: Record<string, unknown> | undefined;
        } & {
            [k: string]: unknown;
        };
        streamToken: string;
    };
}>;
export type ServerStreamResultPatchNotification = z.infer<typeof serverStreamResultPatchNotificationSchema>;
export interface UiStreamSummary {
    streamId: string;
    mode: UiStreamMode;
    frames: number;
    phases: VisualizationStreamPhase[];
    finalStatus?: VisualizationStreamStatus;
    lastMessage?: string;
}
export declare function getUiStreamHostContext(hostContext: Record<string, unknown> | undefined): UiStreamHostContext | undefined;
export declare function getVisualizationStreamEnvelope(structuredContent: unknown): VisualizationStreamEnvelope | undefined;
//# sourceMappingURL=ui-stream-types.d.ts.map