export type { SenderProps } from './interface';
declare const Sender: {
    new (...args: any[]): {
        $: import("vue").ComponentInternalInstance;
        $data: {};
        $props: {
            readonly classNames?: unknown;
            readonly styles?: unknown;
            readonly className?: string;
            style?: import("vue").CSSProperties;
            readonly prefixCls?: string;
            readonly onPaste?: import("./interface").ClipboardEventHandler;
            readonly onFocus?: import("ant-design-vue/es/_util/EventInterface.js").FocusEventHandler;
            readonly onBlur?: import("ant-design-vue/es/_util/EventInterface.js").FocusEventHandler;
            readonly onChange?: (value: string, event?: import("./interface").ChangeEvent) => void;
            readonly onSubmit?: (message: string) => void;
            class?: unknown;
            readonly placeholder?: string | number;
            readonly prefix?: import("vue").VNode | (() => import("vue").VNode);
            readonly header?: import("vue").VNode | (() => import("vue").VNode);
            readonly footer?: import("vue").VNode | import("./interface").FooterRender;
            readonly value?: string;
            readonly disabled?: boolean;
            readonly rootClassName?: string;
            key?: string | number | symbol;
            ref?: import("vue").VNodeRef;
            readonly components?: unknown;
            ref_for?: boolean;
            ref_key?: string;
            onVnodeBeforeMount?: ((vnode: import("vue").VNode) => void) | ((vnode: import("vue").VNode) => void)[];
            onVnodeMounted?: ((vnode: import("vue").VNode) => void) | ((vnode: import("vue").VNode) => void)[];
            onVnodeBeforeUpdate?: ((vnode: import("vue").VNode, oldVNode: import("vue").VNode) => void) | ((vnode: import("vue").VNode, oldVNode: import("vue").VNode) => void)[];
            onVnodeUpdated?: ((vnode: import("vue").VNode, oldVNode: import("vue").VNode) => void) | ((vnode: import("vue").VNode, oldVNode: import("vue").VNode) => void)[];
            onVnodeBeforeUnmount?: ((vnode: import("vue").VNode) => void) | ((vnode: import("vue").VNode) => void)[];
            onVnodeUnmounted?: ((vnode: import("vue").VNode) => void) | ((vnode: import("vue").VNode) => void)[];
            readonly loading?: boolean;
            readonly defaultValue?: string;
            readonly onCancel?: VoidFunction;
            readonly autoSize?: unknown;
            "onUpdate:value"?: (value: string) => any;
            readonly onKeyPress?: import("./interface").KeyboardEventHandler;
            readonly readOnly?: boolean;
            readonly submitType?: import("./interface").SubmitType;
            readonly onKeyDown?: import("./interface").KeyboardEventHandler;
            readonly onPasteFile?: (firstFile: File, files: FileList) => void;
            readonly actions?: import("vue").VNode | import("./interface").ActionsRender | false;
            readonly allowSpeech?: unknown;
        };
        $attrs: {
            [x: string]: unknown;
        };
        $refs: {
            [x: string]: unknown;
        };
        $slots: Readonly<{
            [name: string]: import("vue").Slot<any>;
        }>;
        $root: import("vue").ComponentPublicInstance | null;
        $parent: import("vue").ComponentPublicInstance | null;
        $emit: (event: "update:value", value: string) => void;
        $el: any;
        $options: import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
            onKeyPress: {
                type: import("vue").PropType<import("./interface").KeyboardEventHandler>;
            };
            onFocus: {
                type: import("vue").PropType<import("ant-design-vue/es/_util/EventInterface.js").FocusEventHandler>;
            };
            onBlur: {
                type: import("vue").PropType<import("ant-design-vue/es/_util/EventInterface.js").FocusEventHandler>;
            };
            prefixCls: {
                type: import("vue").PropType<string>;
            };
            defaultValue: {
                type: import("vue").PropType<string>;
            };
            value: {
                type: import("vue").PropType<string>;
            };
            loading: {
                type: import("vue").PropType<boolean>;
            };
            placeholder: {
                type: import("vue").PropType<string | number>;
            };
            readOnly: {
                type: import("vue").PropType<boolean>;
            };
            submitType: {
                type: import("vue").PropType<import("./interface").SubmitType>;
            };
            disabled: {
                type: import("vue").PropType<boolean>;
            };
            onSubmit: {
                type: import("vue").PropType<(message: string) => void>;
            };
            onChange: {
                type: import("vue").PropType<(value: string, event?: import("./interface").ChangeEvent) => void>;
            };
            onCancel: {
                type: import("vue").PropType<VoidFunction>;
            };
            onKeyDown: {
                type: import("vue").PropType<import("./interface").KeyboardEventHandler>;
            };
            onPaste: {
                type: import("vue").PropType<import("./interface").ClipboardEventHandler>;
            };
            onPasteFile: {
                type: import("vue").PropType<(firstFile: File, files: FileList) => void>;
            };
            components: {
                type: import("vue").PropType<import("./interface").SenderComponents>;
            };
            styles: {
                type: import("vue").PropType<{
                    prefix?: import("vue").CSSProperties;
                    input?: import("vue").CSSProperties;
                    actions?: import("vue").CSSProperties;
                    footer?: import("vue").CSSProperties;
                }>;
            };
            rootClassName: {
                type: import("vue").PropType<string>;
            };
            classNames: {
                type: import("vue").PropType<{
                    prefix?: string;
                    input?: string;
                    actions?: string;
                    footer?: string;
                }>;
            };
            style: {
                type: import("vue").PropType<import("vue").CSSProperties>;
            };
            className: {
                type: import("vue").PropType<string>;
            };
            actions: {
                type: import("vue").PropType<false | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }> | import("./interface").ActionsRender>;
            };
            allowSpeech: {
                type: import("vue").PropType<import("./useSpeech.js").AllowSpeech>;
            };
            prefix: {
                type: import("vue").PropType<import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }> | (() => import("vue").VNode)>;
            };
            footer: {
                type: import("vue").PropType<import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }> | import("./interface").FooterRender>;
            };
            header: {
                type: import("vue").PropType<import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }> | (() => import("vue").VNode)>;
            };
            autoSize: {
                type: import("vue").PropType<boolean | {
                    minRows?: number;
                    maxRows?: number;
                }>;
            };
        }>> & {
            "onUpdate:value"?: (value: string) => any;
        }, {
            nativeElement: HTMLDivElement;
            focus: (opt: any) => any;
            blur: () => any;
        }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
            "update:value": (value: string) => void;
        }, string, {}, {}, string, {}> & {
            beforeCreate?: (() => void) | (() => void)[];
            created?: (() => void) | (() => void)[];
            beforeMount?: (() => void) | (() => void)[];
            mounted?: (() => void) | (() => void)[];
            beforeUpdate?: (() => void) | (() => void)[];
            updated?: (() => void) | (() => void)[];
            activated?: (() => void) | (() => void)[];
            deactivated?: (() => void) | (() => void)[];
            beforeDestroy?: (() => void) | (() => void)[];
            beforeUnmount?: (() => void) | (() => void)[];
            destroyed?: (() => void) | (() => void)[];
            unmounted?: (() => void) | (() => void)[];
            renderTracked?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
            renderTriggered?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
            errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void)[];
        };
        $forceUpdate: () => void;
        $nextTick: typeof import("vue").nextTick;
        $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R]) => any : (...args: any) => any, options?: import("vue").WatchOptions): import("vue").WatchStopHandle;
    } & Readonly<import("vue").ExtractPropTypes<{
        onKeyPress: {
            type: import("vue").PropType<import("./interface").KeyboardEventHandler>;
        };
        onFocus: {
            type: import("vue").PropType<import("ant-design-vue/es/_util/EventInterface.js").FocusEventHandler>;
        };
        onBlur: {
            type: import("vue").PropType<import("ant-design-vue/es/_util/EventInterface.js").FocusEventHandler>;
        };
        prefixCls: {
            type: import("vue").PropType<string>;
        };
        defaultValue: {
            type: import("vue").PropType<string>;
        };
        value: {
            type: import("vue").PropType<string>;
        };
        loading: {
            type: import("vue").PropType<boolean>;
        };
        placeholder: {
            type: import("vue").PropType<string | number>;
        };
        readOnly: {
            type: import("vue").PropType<boolean>;
        };
        submitType: {
            type: import("vue").PropType<import("./interface").SubmitType>;
        };
        disabled: {
            type: import("vue").PropType<boolean>;
        };
        onSubmit: {
            type: import("vue").PropType<(message: string) => void>;
        };
        onChange: {
            type: import("vue").PropType<(value: string, event?: import("./interface").ChangeEvent) => void>;
        };
        onCancel: {
            type: import("vue").PropType<VoidFunction>;
        };
        onKeyDown: {
            type: import("vue").PropType<import("./interface").KeyboardEventHandler>;
        };
        onPaste: {
            type: import("vue").PropType<import("./interface").ClipboardEventHandler>;
        };
        onPasteFile: {
            type: import("vue").PropType<(firstFile: File, files: FileList) => void>;
        };
        components: {
            type: import("vue").PropType<import("./interface").SenderComponents>;
        };
        styles: {
            type: import("vue").PropType<{
                prefix?: import("vue").CSSProperties;
                input?: import("vue").CSSProperties;
                actions?: import("vue").CSSProperties;
                footer?: import("vue").CSSProperties;
            }>;
        };
        rootClassName: {
            type: import("vue").PropType<string>;
        };
        classNames: {
            type: import("vue").PropType<{
                prefix?: string;
                input?: string;
                actions?: string;
                footer?: string;
            }>;
        };
        style: {
            type: import("vue").PropType<import("vue").CSSProperties>;
        };
        className: {
            type: import("vue").PropType<string>;
        };
        actions: {
            type: import("vue").PropType<false | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }> | import("./interface").ActionsRender>;
        };
        allowSpeech: {
            type: import("vue").PropType<import("./useSpeech.js").AllowSpeech>;
        };
        prefix: {
            type: import("vue").PropType<import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }> | (() => import("vue").VNode)>;
        };
        footer: {
            type: import("vue").PropType<import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }> | import("./interface").FooterRender>;
        };
        header: {
            type: import("vue").PropType<import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }> | (() => import("vue").VNode)>;
        };
        autoSize: {
            type: import("vue").PropType<boolean | {
                minRows?: number;
                maxRows?: number;
            }>;
        };
    }>> & {
        "onUpdate:value"?: (value: string) => any;
    } & import("vue").ShallowUnwrapRef<{
        nativeElement: HTMLDivElement;
        focus: (opt: any) => any;
        blur: () => any;
    }> & {} & import("vue").ComponentCustomProperties & {};
    __isFragment?: never;
    __isTeleport?: never;
    __isSuspense?: never;
} & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
    onKeyPress: {
        type: import("vue").PropType<import("./interface").KeyboardEventHandler>;
    };
    onFocus: {
        type: import("vue").PropType<import("ant-design-vue/es/_util/EventInterface.js").FocusEventHandler>;
    };
    onBlur: {
        type: import("vue").PropType<import("ant-design-vue/es/_util/EventInterface.js").FocusEventHandler>;
    };
    prefixCls: {
        type: import("vue").PropType<string>;
    };
    defaultValue: {
        type: import("vue").PropType<string>;
    };
    value: {
        type: import("vue").PropType<string>;
    };
    loading: {
        type: import("vue").PropType<boolean>;
    };
    placeholder: {
        type: import("vue").PropType<string | number>;
    };
    readOnly: {
        type: import("vue").PropType<boolean>;
    };
    submitType: {
        type: import("vue").PropType<import("./interface").SubmitType>;
    };
    disabled: {
        type: import("vue").PropType<boolean>;
    };
    onSubmit: {
        type: import("vue").PropType<(message: string) => void>;
    };
    onChange: {
        type: import("vue").PropType<(value: string, event?: import("./interface").ChangeEvent) => void>;
    };
    onCancel: {
        type: import("vue").PropType<VoidFunction>;
    };
    onKeyDown: {
        type: import("vue").PropType<import("./interface").KeyboardEventHandler>;
    };
    onPaste: {
        type: import("vue").PropType<import("./interface").ClipboardEventHandler>;
    };
    onPasteFile: {
        type: import("vue").PropType<(firstFile: File, files: FileList) => void>;
    };
    components: {
        type: import("vue").PropType<import("./interface").SenderComponents>;
    };
    styles: {
        type: import("vue").PropType<{
            prefix?: import("vue").CSSProperties;
            input?: import("vue").CSSProperties;
            actions?: import("vue").CSSProperties;
            footer?: import("vue").CSSProperties;
        }>;
    };
    rootClassName: {
        type: import("vue").PropType<string>;
    };
    classNames: {
        type: import("vue").PropType<{
            prefix?: string;
            input?: string;
            actions?: string;
            footer?: string;
        }>;
    };
    style: {
        type: import("vue").PropType<import("vue").CSSProperties>;
    };
    className: {
        type: import("vue").PropType<string>;
    };
    actions: {
        type: import("vue").PropType<false | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
            [key: string]: any;
        }> | import("./interface").ActionsRender>;
    };
    allowSpeech: {
        type: import("vue").PropType<import("./useSpeech.js").AllowSpeech>;
    };
    prefix: {
        type: import("vue").PropType<import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
            [key: string]: any;
        }> | (() => import("vue").VNode)>;
    };
    footer: {
        type: import("vue").PropType<import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
            [key: string]: any;
        }> | import("./interface").FooterRender>;
    };
    header: {
        type: import("vue").PropType<import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
            [key: string]: any;
        }> | (() => import("vue").VNode)>;
    };
    autoSize: {
        type: import("vue").PropType<boolean | {
            minRows?: number;
            maxRows?: number;
        }>;
    };
}>> & {
    "onUpdate:value"?: (value: string) => any;
}, {
    nativeElement: HTMLDivElement;
    focus: (opt: any) => any;
    blur: () => any;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    "update:value": (value: string) => void;
}, string, {}, {}, string, {}> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
    $slots: {
        header?(): import("vue").VNode;
        prefix?(): import("vue").VNode;
        actions?(props: {
            ori: import("vue").VNode;
            info: {
                components: {
                    SendButton: typeof import("./components/SendButton.vue").default;
                    ClearButton: typeof import("./components/ClearButton.vue").default;
                    LoadingButton: typeof import("./components/LoadingButton.vue").default;
                    SpeechButton: typeof import("./components/SpeechButton/index.vue").default;
                };
            };
        }): import("vue").VNode;
        footer?(props: {
            info: {
                components: {
                    SendButton: typeof import("./components/SendButton.vue").default;
                    ClearButton: typeof import("./components/ClearButton.vue").default;
                    LoadingButton: typeof import("./components/LoadingButton.vue").default;
                    SpeechButton: typeof import("./components/SpeechButton/index.vue").default;
                };
            };
        }): import("vue").VNode;
    };
}) & {
    Header: {
        new (...args: any[]): {
            $: import("vue").ComponentInternalInstance;
            $data: {};
            $props: {
                readonly classNames?: unknown;
                readonly styles?: unknown;
                readonly className?: string;
                style?: import("vue").CSSProperties;
                class?: unknown;
                readonly title?: import("vue").VNode | string;
                readonly closable?: boolean;
                readonly forceRender?: boolean;
                key?: string | number | symbol;
                ref?: import("vue").VNodeRef;
                readonly children?: import("vue").VNode;
                readonly open?: boolean;
                readonly onOpenChange?: (open: boolean) => void;
                ref_for?: boolean;
                ref_key?: string;
                onVnodeBeforeMount?: ((vnode: import("vue").VNode) => void) | ((vnode: import("vue").VNode) => void)[];
                onVnodeMounted?: ((vnode: import("vue").VNode) => void) | ((vnode: import("vue").VNode) => void)[];
                onVnodeBeforeUpdate?: ((vnode: import("vue").VNode, oldVNode: import("vue").VNode) => void) | ((vnode: import("vue").VNode, oldVNode: import("vue").VNode) => void)[];
                onVnodeUpdated?: ((vnode: import("vue").VNode, oldVNode: import("vue").VNode) => void) | ((vnode: import("vue").VNode, oldVNode: import("vue").VNode) => void)[];
                onVnodeBeforeUnmount?: ((vnode: import("vue").VNode) => void) | ((vnode: import("vue").VNode) => void)[];
                onVnodeUnmounted?: ((vnode: import("vue").VNode) => void) | ((vnode: import("vue").VNode) => void)[];
            };
            $attrs: {
                [x: string]: unknown;
            };
            $refs: {
                [x: string]: unknown;
            };
            $slots: Readonly<{
                [name: string]: import("vue").Slot<any>;
            }>;
            $root: import("vue").ComponentPublicInstance | null;
            $parent: import("vue").ComponentPublicInstance | null;
            $emit: (event: string, ...args: any[]) => void;
            $el: any;
            $options: import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
                forceRender: {
                    type: import("vue").PropType<boolean>;
                };
                open: {
                    type: import("vue").PropType<boolean>;
                };
                onOpenChange: {
                    type: import("vue").PropType<(open: boolean) => void>;
                };
                title: {
                    type: import("vue").PropType<string | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                        [key: string]: any;
                    }>>;
                };
                children: {
                    type: import("vue").PropType<import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                        [key: string]: any;
                    }>>;
                };
                className: {
                    type: import("vue").PropType<string>;
                };
                style: {
                    type: import("vue").PropType<import("vue").CSSProperties>;
                };
                classNames: {
                    type: import("vue").PropType<Partial<Record<import("./interface").SemanticType, string>>>;
                };
                styles: {
                    type: import("vue").PropType<Partial<Record<import("./interface").SemanticType, import("vue").CSSProperties>>>;
                };
                closable: {
                    type: import("vue").PropType<boolean>;
                };
            }>>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {}, {}, string, {}> & {
                beforeCreate?: (() => void) | (() => void)[];
                created?: (() => void) | (() => void)[];
                beforeMount?: (() => void) | (() => void)[];
                mounted?: (() => void) | (() => void)[];
                beforeUpdate?: (() => void) | (() => void)[];
                updated?: (() => void) | (() => void)[];
                activated?: (() => void) | (() => void)[];
                deactivated?: (() => void) | (() => void)[];
                beforeDestroy?: (() => void) | (() => void)[];
                beforeUnmount?: (() => void) | (() => void)[];
                destroyed?: (() => void) | (() => void)[];
                unmounted?: (() => void) | (() => void)[];
                renderTracked?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
                renderTriggered?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
                errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void)[];
            };
            $forceUpdate: () => void;
            $nextTick: typeof import("vue").nextTick;
            $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R]) => any : (...args: any) => any, options?: import("vue").WatchOptions): import("vue").WatchStopHandle;
        } & Readonly<import("vue").ExtractPropTypes<{
            forceRender: {
                type: import("vue").PropType<boolean>;
            };
            open: {
                type: import("vue").PropType<boolean>;
            };
            onOpenChange: {
                type: import("vue").PropType<(open: boolean) => void>;
            };
            title: {
                type: import("vue").PropType<string | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>>;
            };
            children: {
                type: import("vue").PropType<import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>>;
            };
            className: {
                type: import("vue").PropType<string>;
            };
            style: {
                type: import("vue").PropType<import("vue").CSSProperties>;
            };
            classNames: {
                type: import("vue").PropType<Partial<Record<import("./interface").SemanticType, string>>>;
            };
            styles: {
                type: import("vue").PropType<Partial<Record<import("./interface").SemanticType, import("vue").CSSProperties>>>;
            };
            closable: {
                type: import("vue").PropType<boolean>;
            };
        }>> & import("vue").ShallowUnwrapRef<{}> & {} & import("vue").ComponentCustomProperties & {};
        __isFragment?: never;
        __isTeleport?: never;
        __isSuspense?: never;
    } & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
        forceRender: {
            type: import("vue").PropType<boolean>;
        };
        open: {
            type: import("vue").PropType<boolean>;
        };
        onOpenChange: {
            type: import("vue").PropType<(open: boolean) => void>;
        };
        title: {
            type: import("vue").PropType<string | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>>;
        };
        children: {
            type: import("vue").PropType<import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>>;
        };
        className: {
            type: import("vue").PropType<string>;
        };
        style: {
            type: import("vue").PropType<import("vue").CSSProperties>;
        };
        classNames: {
            type: import("vue").PropType<Partial<Record<import("./interface").SemanticType, string>>>;
        };
        styles: {
            type: import("vue").PropType<Partial<Record<import("./interface").SemanticType, import("vue").CSSProperties>>>;
        };
        closable: {
            type: import("vue").PropType<boolean>;
        };
    }>>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {}, {}, string, {}> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
        $slots: {
            default(props?: any): any;
        };
    });
};
export default Sender;
export { Sender, };
