import { z } from '@bpinternal/zui';
import { RenderedComponent } from 'llmz';
export declare function joinMarkdownChildren(children: any[], stringify?: (el: unknown) => string): string;
export type Message = z.infer<typeof Message>;
export declare const Message: z.ZodObject<{
    __jsx: z.ZodLiteral<true>;
    type: z.ZodLiteral<"MESSAGE">;
    props: z.ZodObject<{
        type: z.ZodCatch<z.ZodDefault<z.ZodEnum<["error", "info", "success", "prompt"]>>>;
    }, "passthrough", {
        [k: string]: unknown;
    } & {
        type: "prompt" | "info" | "error" | "success";
    }, {
        type?: unknown;
    } & {
        [k: string]: unknown;
    }>;
    children: z.ZodEffects<z.ZodDefault<z.ZodArray<z.ZodAny, "many">>, (string | RenderedComponent<{}>)[], any[] | undefined>;
}, "strip", {
    type: "MESSAGE";
    __jsx: true;
    props: {
        [k: string]: unknown;
    } & {
        type: "prompt" | "info" | "error" | "success";
    };
    children: (string | RenderedComponent<{}>)[];
}, {
    type: "MESSAGE";
    __jsx: true;
    props: {
        type?: unknown;
    } & {
        [k: string]: unknown;
    };
    children?: any[] | undefined;
}>;
//# sourceMappingURL=messages.d.ts.map