import { Message } from '@botpress/client';
import { z } from '@botpress/sdk';
export declare const DefaultMessageTypes: {
    text: import("@botpress/sdk").ZodObject<{
        text: import("@botpress/sdk").ZodString;
    }, "strip", {
        text: string;
    }, {
        text: string;
    }>;
    audio: import("@botpress/sdk").ZodObject<{
        audioUrl: import("@botpress/sdk").ZodString;
    }, "strip", {
        audioUrl: string;
    }, {
        audioUrl: string;
    }>;
    card: import("@botpress/sdk").ZodObject<{
        title: import("@botpress/sdk").ZodString;
        subtitle: import("@botpress/sdk").ZodOptional<import("@botpress/sdk").ZodString>;
        imageUrl: import("@botpress/sdk").ZodOptional<import("@botpress/sdk").ZodString>;
        actions: import("@botpress/sdk").ZodArray<import("@botpress/sdk").ZodObject<{
            action: import("@botpress/sdk").ZodEnum<["postback", "url", "say"]>;
            label: import("@botpress/sdk").ZodString;
            value: import("@botpress/sdk").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("@botpress/sdk").ZodObject<{
        imageUrl: import("@botpress/sdk").ZodString;
    }, "strip", {
        imageUrl: string;
    }, {
        imageUrl: string;
    }>;
    carousel: import("@botpress/sdk").ZodObject<{
        items: import("@botpress/sdk").ZodArray<import("@botpress/sdk").ZodObject<{
            title: import("@botpress/sdk").ZodString;
            subtitle: import("@botpress/sdk").ZodOptional<import("@botpress/sdk").ZodString>;
            imageUrl: import("@botpress/sdk").ZodOptional<import("@botpress/sdk").ZodString>;
            actions: import("@botpress/sdk").ZodArray<import("@botpress/sdk").ZodObject<{
                action: import("@botpress/sdk").ZodEnum<["postback", "url", "say"]>;
                label: import("@botpress/sdk").ZodString;
                value: import("@botpress/sdk").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("@botpress/sdk").ZodObject<{
        text: import("@botpress/sdk").ZodString;
        options: import("@botpress/sdk").ZodArray<import("@botpress/sdk").ZodObject<{
            label: import("@botpress/sdk").ZodString;
            value: import("@botpress/sdk").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("@botpress/sdk").ZodObject<{
        text: import("@botpress/sdk").ZodString;
        options: import("@botpress/sdk").ZodArray<import("@botpress/sdk").ZodObject<{
            label: import("@botpress/sdk").ZodString;
            value: import("@botpress/sdk").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("@botpress/sdk").ZodObject<{
        fileUrl: import("@botpress/sdk").ZodString;
        title: import("@botpress/sdk").ZodOptional<import("@botpress/sdk").ZodString>;
    }, "strip", {
        fileUrl: string;
        title?: string | undefined;
    }, {
        fileUrl: string;
        title?: string | undefined;
    }>;
    location: import("@botpress/sdk").ZodObject<{
        latitude: import("@botpress/sdk").ZodNumber;
        longitude: import("@botpress/sdk").ZodNumber;
        address: import("@botpress/sdk").ZodOptional<import("@botpress/sdk").ZodString>;
        title: import("@botpress/sdk").ZodOptional<import("@botpress/sdk").ZodString>;
    }, "strip", {
        latitude: number;
        longitude: number;
        title?: string | undefined;
        address?: string | undefined;
    }, {
        latitude: number;
        longitude: number;
        title?: string | undefined;
        address?: string | undefined;
    }>;
    video: import("@botpress/sdk").ZodObject<{
        videoUrl: import("@botpress/sdk").ZodString;
    }, "strip", {
        videoUrl: string;
    }, {
        videoUrl: string;
    }>;
    bloc: import("@botpress/sdk").ZodObject<{
        items: import("@botpress/sdk").ZodArray<import("@botpress/sdk").ZodUnion<[import("@botpress/sdk").ZodObject<{
            type: import("@botpress/sdk").ZodLiteral<"text">;
            payload: import("@botpress/sdk").ZodObject<{
                text: import("@botpress/sdk").ZodString;
            }, "strip", {
                text: string;
            }, {
                text: string;
            }>;
        }, "strip", {
            type: "text";
            payload: {
                text: string;
            };
        }, {
            type: "text";
            payload: {
                text: string;
            };
        }>, import("@botpress/sdk").ZodObject<{
            type: import("@botpress/sdk").ZodLiteral<"markdown">;
            payload: import("@botpress/sdk").ZodObject<{
                markdown: import("@botpress/sdk").ZodString;
            }, "strip", {
                markdown: string;
            }, {
                markdown: string;
            }>;
        }, "strip", {
            type: "markdown";
            payload: {
                markdown: string;
            };
        }, {
            type: "markdown";
            payload: {
                markdown: string;
            };
        }>, import("@botpress/sdk").ZodObject<{
            type: import("@botpress/sdk").ZodLiteral<"image">;
            payload: import("@botpress/sdk").ZodObject<{
                imageUrl: import("@botpress/sdk").ZodString;
            }, "strip", {
                imageUrl: string;
            }, {
                imageUrl: string;
            }>;
        }, "strip", {
            type: "image";
            payload: {
                imageUrl: string;
            };
        }, {
            type: "image";
            payload: {
                imageUrl: string;
            };
        }>, import("@botpress/sdk").ZodObject<{
            type: import("@botpress/sdk").ZodLiteral<"audio">;
            payload: import("@botpress/sdk").ZodObject<{
                audioUrl: import("@botpress/sdk").ZodString;
            }, "strip", {
                audioUrl: string;
            }, {
                audioUrl: string;
            }>;
        }, "strip", {
            type: "audio";
            payload: {
                audioUrl: string;
            };
        }, {
            type: "audio";
            payload: {
                audioUrl: string;
            };
        }>, import("@botpress/sdk").ZodObject<{
            type: import("@botpress/sdk").ZodLiteral<"video">;
            payload: import("@botpress/sdk").ZodObject<{
                videoUrl: import("@botpress/sdk").ZodString;
            }, "strip", {
                videoUrl: string;
            }, {
                videoUrl: string;
            }>;
        }, "strip", {
            type: "video";
            payload: {
                videoUrl: string;
            };
        }, {
            type: "video";
            payload: {
                videoUrl: string;
            };
        }>, import("@botpress/sdk").ZodObject<{
            type: import("@botpress/sdk").ZodLiteral<"file">;
            payload: import("@botpress/sdk").ZodObject<{
                fileUrl: import("@botpress/sdk").ZodString;
                title: import("@botpress/sdk").ZodOptional<import("@botpress/sdk").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("@botpress/sdk").ZodObject<{
            type: import("@botpress/sdk").ZodLiteral<"location">;
            payload: import("@botpress/sdk").ZodObject<{
                latitude: import("@botpress/sdk").ZodNumber;
                longitude: import("@botpress/sdk").ZodNumber;
                address: import("@botpress/sdk").ZodOptional<import("@botpress/sdk").ZodString>;
                title: import("@botpress/sdk").ZodOptional<import("@botpress/sdk").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 declare const BUILT_IN_INTEGRATIONS: readonly ["webchat", "slack", "teams", "telegram", "whatsapp", "chat"];
export declare const DefaultComponents: {
    Audio: import("llmz").Component<{
        type: "leaf";
        aliases: never[];
        name: string;
        description: string;
        examples: {
            name: string;
            description: string;
            code: string;
        }[];
        leaf: {
            props: any;
        };
    }>;
    Image: import("llmz").Component<{
        type: "leaf";
        aliases: string[];
        name: string;
        description: string;
        examples: {
            name: string;
            description: string;
            code: string;
        }[];
        leaf: {
            props: any;
        };
    }>;
    Video: import("llmz").Component<{
        type: "leaf";
        aliases: never[];
        name: string;
        description: string;
        examples: {
            name: string;
            description: string;
            code: string;
        }[];
        leaf: {
            props: any;
        };
    }>;
    Location: import("llmz").Component<{
        type: "leaf";
        aliases: never[];
        name: string;
        description: string;
        examples: {
            name: string;
            description: string;
            code: string;
        }[];
        leaf: {
            props: any;
        };
    }>;
    Choice: import("llmz").Component<{
        type: "leaf";
        aliases: string[];
        name: string;
        description: string;
        examples: {
            name: string;
            description: string;
            code: string;
        }[];
        leaf: {
            props: any;
        };
    }>;
    Dropdown: import("llmz").Component<{
        type: "leaf";
        aliases: string[];
        name: string;
        description: string;
        examples: {
            name: string;
            description: string;
            code: string;
        }[];
        leaf: {
            props: any;
        };
    }>;
    Carousel: import("llmz").Component<{
        type: "leaf";
        aliases: string[];
        name: string;
        description: string;
        examples: {
            name: string;
            description: string;
            code: string;
        }[];
        leaf: {
            props: any;
        };
    }>;
};
export {};
//# sourceMappingURL=components.d.ts.map