import { Message } from '@botpress/client';
import { z } from '@botpress/sdk';
export declare const DefaultMessageTypes: {
    text: import("@bpinternal/zui").ZodObject<{
        text: import("@bpinternal/zui").ZodString;
    }, "strip", {
        text: string;
    }, {
        text: string;
    }>;
    audio: import("@bpinternal/zui").ZodObject<{
        audioUrl: import("@bpinternal/zui").ZodString;
    }, "strip", {
        audioUrl: string;
    }, {
        audioUrl: string;
    }>;
    card: import("@bpinternal/zui").ZodObject<{
        title: import("@bpinternal/zui").ZodString;
        subtitle: import("@bpinternal/zui").ZodOptional<import("@bpinternal/zui").ZodString>;
        imageUrl: import("@bpinternal/zui").ZodOptional<import("@bpinternal/zui").ZodString>;
        actions: import("@bpinternal/zui").ZodArray<import("@bpinternal/zui").ZodObject<{
            action: import("@bpinternal/zui").ZodEnum<["postback", "url", "say"]>;
            label: import("@bpinternal/zui").ZodString;
            value: import("@bpinternal/zui").ZodString;
        }, "strip", {
            value: string;
            action: "url" | "postback" | "say";
            label: string;
        }, {
            value: string;
            action: "url" | "postback" | "say";
            label: string;
        }>, "many">;
    }, "strip", {
        actions: {
            value: string;
            action: "url" | "postback" | "say";
            label: string;
        }[];
        title: string;
        subtitle?: string | undefined;
        imageUrl?: string | undefined;
    }, {
        actions: {
            value: string;
            action: "url" | "postback" | "say";
            label: string;
        }[];
        title: string;
        subtitle?: string | undefined;
        imageUrl?: string | undefined;
    }>;
    image: import("@bpinternal/zui").ZodObject<{
        imageUrl: import("@bpinternal/zui").ZodString;
    }, "strip", {
        imageUrl: string;
    }, {
        imageUrl: string;
    }>;
    carousel: import("@bpinternal/zui").ZodObject<{
        items: import("@bpinternal/zui").ZodArray<import("@bpinternal/zui").ZodObject<{
            title: import("@bpinternal/zui").ZodString;
            subtitle: import("@bpinternal/zui").ZodOptional<import("@bpinternal/zui").ZodString>;
            imageUrl: import("@bpinternal/zui").ZodOptional<import("@bpinternal/zui").ZodString>;
            actions: import("@bpinternal/zui").ZodArray<import("@bpinternal/zui").ZodObject<{
                action: import("@bpinternal/zui").ZodEnum<["postback", "url", "say"]>;
                label: import("@bpinternal/zui").ZodString;
                value: import("@bpinternal/zui").ZodString;
            }, "strip", {
                value: string;
                action: "url" | "postback" | "say";
                label: string;
            }, {
                value: string;
                action: "url" | "postback" | "say";
                label: string;
            }>, "many">;
        }, "strip", {
            actions: {
                value: string;
                action: "url" | "postback" | "say";
                label: string;
            }[];
            title: string;
            subtitle?: string | undefined;
            imageUrl?: string | undefined;
        }, {
            actions: {
                value: string;
                action: "url" | "postback" | "say";
                label: string;
            }[];
            title: string;
            subtitle?: string | undefined;
            imageUrl?: string | undefined;
        }>, "many">;
    }, "strip", {
        items: {
            actions: {
                value: string;
                action: "url" | "postback" | "say";
                label: string;
            }[];
            title: string;
            subtitle?: string | undefined;
            imageUrl?: string | undefined;
        }[];
    }, {
        items: {
            actions: {
                value: string;
                action: "url" | "postback" | "say";
                label: string;
            }[];
            title: string;
            subtitle?: string | undefined;
            imageUrl?: string | undefined;
        }[];
    }>;
    choice: import("@bpinternal/zui").ZodObject<{
        text: import("@bpinternal/zui").ZodString;
        options: import("@bpinternal/zui").ZodArray<import("@bpinternal/zui").ZodObject<{
            label: import("@bpinternal/zui").ZodString;
            value: import("@bpinternal/zui").ZodString;
        }, "strip", {
            value: string;
            label: string;
        }, {
            value: string;
            label: string;
        }>, "many">;
    }, "strip", {
        options: {
            value: string;
            label: string;
        }[];
        text: string;
    }, {
        options: {
            value: string;
            label: string;
        }[];
        text: string;
    }>;
    dropdown: import("@bpinternal/zui").ZodObject<{
        text: import("@bpinternal/zui").ZodString;
        options: import("@bpinternal/zui").ZodArray<import("@bpinternal/zui").ZodObject<{
            label: import("@bpinternal/zui").ZodString;
            value: import("@bpinternal/zui").ZodString;
        }, "strip", {
            value: string;
            label: string;
        }, {
            value: string;
            label: string;
        }>, "many">;
    }, "strip", {
        options: {
            value: string;
            label: string;
        }[];
        text: string;
    }, {
        options: {
            value: string;
            label: string;
        }[];
        text: string;
    }>;
    file: import("@bpinternal/zui").ZodObject<{
        fileUrl: import("@bpinternal/zui").ZodString;
        title: import("@bpinternal/zui").ZodOptional<import("@bpinternal/zui").ZodString>;
    }, "strip", {
        fileUrl: string;
        title?: string | undefined;
    }, {
        fileUrl: string;
        title?: string | undefined;
    }>;
    location: import("@bpinternal/zui").ZodObject<{
        latitude: import("@bpinternal/zui").ZodNumber;
        longitude: import("@bpinternal/zui").ZodNumber;
        address: import("@bpinternal/zui").ZodOptional<import("@bpinternal/zui").ZodString>;
        title: import("@bpinternal/zui").ZodOptional<import("@bpinternal/zui").ZodString>;
    }, "strip", {
        latitude: number;
        longitude: number;
        title?: string | undefined;
        address?: string | undefined;
    }, {
        latitude: number;
        longitude: number;
        title?: string | undefined;
        address?: string | undefined;
    }>;
    video: import("@bpinternal/zui").ZodObject<{
        videoUrl: import("@bpinternal/zui").ZodString;
    }, "strip", {
        videoUrl: string;
    }, {
        videoUrl: string;
    }>;
    bloc: import("@bpinternal/zui").ZodObject<{
        items: import("@bpinternal/zui").ZodArray<import("@bpinternal/zui").ZodUnion<[import("@bpinternal/zui").ZodObject<{
            type: import("@bpinternal/zui").ZodLiteral<"text">;
            payload: import("@bpinternal/zui").ZodObject<{
                text: import("@bpinternal/zui").ZodString;
            }, "strip", {
                text: string;
            }, {
                text: string;
            }>;
        }, "strip", {
            type: "text";
            payload: {
                text: string;
            };
        }, {
            type: "text";
            payload: {
                text: string;
            };
        }>, import("@bpinternal/zui").ZodObject<{
            type: import("@bpinternal/zui").ZodLiteral<"markdown">;
            payload: import("@bpinternal/zui").ZodObject<{
                markdown: import("@bpinternal/zui").ZodString;
            }, "strip", {
                markdown: string;
            }, {
                markdown: string;
            }>;
        }, "strip", {
            type: "markdown";
            payload: {
                markdown: string;
            };
        }, {
            type: "markdown";
            payload: {
                markdown: string;
            };
        }>, import("@bpinternal/zui").ZodObject<{
            type: import("@bpinternal/zui").ZodLiteral<"image">;
            payload: import("@bpinternal/zui").ZodObject<{
                imageUrl: import("@bpinternal/zui").ZodString;
            }, "strip", {
                imageUrl: string;
            }, {
                imageUrl: string;
            }>;
        }, "strip", {
            type: "image";
            payload: {
                imageUrl: string;
            };
        }, {
            type: "image";
            payload: {
                imageUrl: string;
            };
        }>, import("@bpinternal/zui").ZodObject<{
            type: import("@bpinternal/zui").ZodLiteral<"audio">;
            payload: import("@bpinternal/zui").ZodObject<{
                audioUrl: import("@bpinternal/zui").ZodString;
            }, "strip", {
                audioUrl: string;
            }, {
                audioUrl: string;
            }>;
        }, "strip", {
            type: "audio";
            payload: {
                audioUrl: string;
            };
        }, {
            type: "audio";
            payload: {
                audioUrl: string;
            };
        }>, import("@bpinternal/zui").ZodObject<{
            type: import("@bpinternal/zui").ZodLiteral<"video">;
            payload: import("@bpinternal/zui").ZodObject<{
                videoUrl: import("@bpinternal/zui").ZodString;
            }, "strip", {
                videoUrl: string;
            }, {
                videoUrl: string;
            }>;
        }, "strip", {
            type: "video";
            payload: {
                videoUrl: string;
            };
        }, {
            type: "video";
            payload: {
                videoUrl: string;
            };
        }>, import("@bpinternal/zui").ZodObject<{
            type: import("@bpinternal/zui").ZodLiteral<"file">;
            payload: import("@bpinternal/zui").ZodObject<{
                fileUrl: import("@bpinternal/zui").ZodString;
                title: import("@bpinternal/zui").ZodOptional<import("@bpinternal/zui").ZodString>;
            }, "strip", {
                fileUrl: string;
                title?: string | undefined;
            }, {
                fileUrl: string;
                title?: string | undefined;
            }>;
        }, "strip", {
            type: "file";
            payload: {
                fileUrl: string;
                title?: string | undefined;
            };
        }, {
            type: "file";
            payload: {
                fileUrl: string;
                title?: string | undefined;
            };
        }>, import("@bpinternal/zui").ZodObject<{
            type: import("@bpinternal/zui").ZodLiteral<"location">;
            payload: import("@bpinternal/zui").ZodObject<{
                latitude: import("@bpinternal/zui").ZodNumber;
                longitude: import("@bpinternal/zui").ZodNumber;
                address: import("@bpinternal/zui").ZodOptional<import("@bpinternal/zui").ZodString>;
                title: import("@bpinternal/zui").ZodOptional<import("@bpinternal/zui").ZodString>;
            }, "strip", {
                latitude: number;
                longitude: number;
                title?: string | undefined;
                address?: string | undefined;
            }, {
                latitude: number;
                longitude: number;
                title?: string | undefined;
                address?: string | undefined;
            }>;
        }, "strip", {
            type: "location";
            payload: {
                latitude: number;
                longitude: number;
                title?: string | undefined;
                address?: string | undefined;
            };
        }, {
            type: "location";
            payload: {
                latitude: number;
                longitude: number;
                title?: string | undefined;
                address?: string | undefined;
            };
        }>]>, "many">;
    }, "strip", {
        items: ({
            type: "text";
            payload: {
                text: string;
            };
        } | {
            type: "markdown";
            payload: {
                markdown: string;
            };
        } | {
            type: "image";
            payload: {
                imageUrl: string;
            };
        } | {
            type: "audio";
            payload: {
                audioUrl: string;
            };
        } | {
            type: "video";
            payload: {
                videoUrl: string;
            };
        } | {
            type: "file";
            payload: {
                fileUrl: string;
                title?: string | undefined;
            };
        } | {
            type: "location";
            payload: {
                latitude: number;
                longitude: number;
                title?: string | undefined;
                address?: string | undefined;
            };
        })[];
    }, {
        items: ({
            type: "text";
            payload: {
                text: string;
            };
        } | {
            type: "markdown";
            payload: {
                markdown: string;
            };
        } | {
            type: "image";
            payload: {
                imageUrl: string;
            };
        } | {
            type: "audio";
            payload: {
                audioUrl: string;
            };
        } | {
            type: "video";
            payload: {
                videoUrl: string;
            };
        } | {
            type: "file";
            payload: {
                fileUrl: string;
                title?: string | undefined;
            };
        } | {
            type: "location";
            payload: {
                latitude: number;
                longitude: number;
                title?: string | undefined;
                address?: string | undefined;
            };
        })[];
    }>;
};
type SpecificMessage<T> = Omit<Message, 'type' | 'payload'> & T;
type DefaultMessages<T extends keyof typeof DefaultMessageTypes> = SpecificMessage<{
    type: T;
    payload: z.infer<(typeof DefaultMessageTypes)[T]>;
}>;
export declare namespace Messages {
    namespace User {
        type Any = Text | Image | Audio | Video | File | Location | Blocs;
        type Text = DefaultMessages<'text'>;
        type Image = DefaultMessages<'image'>;
        type Audio = DefaultMessages<'audio'>;
        type Video = DefaultMessages<'video'>;
        type File = DefaultMessages<'file'>;
        type Location = DefaultMessages<'location'>;
        type Blocs = SpecificMessage<{
            type: 'blocs';
            payload: {
                blocs: Bloc[];
            };
        }>;
        type Bloc = Text | Image | Audio | Video | File | Location;
    }
    namespace Bot {
        type Any = Text | Image | Audio | Video | File | Location | Blocs;
        type Text = DefaultMessages<'text'>;
        type Image = DefaultMessages<'image'>;
        type Audio = DefaultMessages<'audio'>;
        type Video = DefaultMessages<'video'>;
        type File = DefaultMessages<'file'>;
        type Location = DefaultMessages<'location'>;
        type Bloc = Text | Image | Audio | Video | File | Location;
        type Blocs = SpecificMessage<{
            type: 'blocs';
            payload: {
                blocs: Bloc[];
            };
        }>;
        type Card = DefaultMessages<'card'>;
        type Carousel = DefaultMessages<'carousel'>;
        type Choice = DefaultMessages<'choice'>;
        type Dropdown = DefaultMessages<'dropdown'>;
    }
}
export {};
//# sourceMappingURL=components.d.ts.map