import z from "zod";
/**
 *
 * Prompt Message Schemas
 *
 */
export declare const phoenixMessageRoleSchema: z.ZodEnum<{
    user: "user";
    assistant: "assistant";
    model: "model";
    ai: "ai";
    tool: "tool";
    system: "system";
    developer: "developer";
}>;
export type PhoenixMessageRole = z.infer<typeof phoenixMessageRoleSchema>;
export declare const phoenixMessageSchema: z.ZodObject<{
    role: z.ZodEnum<{
        user: "user";
        assistant: "assistant";
        model: "model";
        ai: "ai";
        tool: "tool";
        system: "system";
        developer: "developer";
    }>;
    content: z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
        type: z.ZodLiteral<"text">;
        text: z.ZodString;
    }, z.core.$strip>, z.ZodObject<{
        type: z.ZodLiteral<"tool_call">;
        tool_call_id: z.ZodString;
        tool_call: z.ZodObject<{
            type: z.ZodLiteral<"function">;
            name: z.ZodString;
            arguments: z.ZodString;
        }, z.core.$strip>;
    }, z.core.$strip>, z.ZodObject<{
        type: z.ZodLiteral<"tool_result">;
        tool_call_id: z.ZodString;
        tool_result: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull, z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodArray<z.ZodUnknown>]>;
    }, z.core.$strip>], "type">>]>;
}, z.core.$strip>;
export type PhoenixMessage = z.infer<typeof phoenixMessageSchema>;
export declare const phoenixMessagesSchema: z.ZodArray<z.ZodObject<{
    role: z.ZodEnum<{
        user: "user";
        assistant: "assistant";
        model: "model";
        ai: "ai";
        tool: "tool";
        system: "system";
        developer: "developer";
    }>;
    content: z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
        type: z.ZodLiteral<"text">;
        text: z.ZodString;
    }, z.core.$strip>, z.ZodObject<{
        type: z.ZodLiteral<"tool_call">;
        tool_call_id: z.ZodString;
        tool_call: z.ZodObject<{
            type: z.ZodLiteral<"function">;
            name: z.ZodString;
            arguments: z.ZodString;
        }, z.core.$strip>;
    }, z.core.$strip>, z.ZodObject<{
        type: z.ZodLiteral<"tool_result">;
        tool_call_id: z.ZodString;
        tool_result: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull, z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodArray<z.ZodUnknown>]>;
    }, z.core.$strip>], "type">>]>;
}, z.core.$strip>>;
//# sourceMappingURL=messageSchemas.d.ts.map