import { z } from 'zod';
export declare function isCliApiKey(apiKey: string): boolean;
export declare const AIGatewayWSFrameType: {
    readonly request: "request";
    readonly response: "response";
    readonly error: "error";
    readonly cancel: "cancel";
    readonly draining: "draining";
};
export declare const AIGatewayWSResponseStatus: {
    readonly complete: "complete";
    readonly delta: "delta";
    readonly thinkingDelta: "thinking_delta";
};
export declare const AIGatewayWSUsageSchema: z.ZodObject<{
    prompt: z.ZodNumber;
    completion: z.ZodNumber;
    total: z.ZodNumber;
    cached: z.ZodOptional<z.ZodNumber>;
}, z.core.$strip>;
export type AIGatewayWSUsage = z.infer<typeof AIGatewayWSUsageSchema>;
export declare const AIGatewayWSServerResponseSchema: z.ZodObject<{
    type: z.ZodLiteral<"response">;
    id: z.ZodString;
    compact: z.ZodOptional<z.ZodBoolean>;
    status: z.ZodString;
    status_code: z.ZodOptional<z.ZodNumber>;
    content: z.ZodOptional<z.ZodString>;
    delta: z.ZodOptional<z.ZodString>;
    thinking: z.ZodOptional<z.ZodString>;
    usage: z.ZodOptional<z.ZodObject<{
        prompt: z.ZodNumber;
        completion: z.ZodNumber;
        total: z.ZodNumber;
        cached: z.ZodOptional<z.ZodNumber>;
    }, z.core.$strip>>;
    cost: z.ZodOptional<z.ZodNumber>;
    unit: z.ZodOptional<z.ZodString>;
    input_qty: z.ZodOptional<z.ZodNumber>;
    output_qty: z.ZodOptional<z.ZodNumber>;
    event: z.ZodOptional<z.ZodString>;
    data: z.ZodOptional<z.ZodUnknown>;
}, z.core.$loose>;
export type AIGatewayWSServerResponse = z.infer<typeof AIGatewayWSServerResponseSchema>;
export declare const AIGatewayWSServerErrorSchema: z.ZodObject<{
    type: z.ZodLiteral<"error">;
    id: z.ZodOptional<z.ZodString>;
    status_code: z.ZodNumber;
    message: z.ZodString;
}, z.core.$strip>;
export type AIGatewayWSServerError = z.infer<typeof AIGatewayWSServerErrorSchema>;
export declare const AIGatewayWSDrainingSchema: z.ZodObject<{
    type: z.ZodLiteral<"draining">;
    message: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export type AIGatewayWSDraining = z.infer<typeof AIGatewayWSDrainingSchema>;
export type AIGatewayWSServerFrame = AIGatewayWSServerResponse | AIGatewayWSServerError | AIGatewayWSDraining;
export declare function parseAIGatewayWSServerFrame(raw: unknown): AIGatewayWSServerFrame | null;
export declare function buildAIGatewayWebSocketUrl(baseUrl: string): string;
//# sourceMappingURL=protocol.d.ts.map