import BubbleList from './BubbleList.vue';
export type { BubbleProps, BubbleListProps } from './interface';
declare const Bubble: (<T extends import("./interface").BubbleContentType = string>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: {
    slots: Readonly<{
        avatar?(): import("vue").VNode;
        header?(props?: {
            content: import("./interface").BubbleContentType;
        }): import("vue").VNode | string;
        footer?(props?: {
            content: import("./interface").BubbleContentType;
        }): import("vue").VNode | string;
        loading?(): import("vue").VNode;
        message?(props?: {
            content: import("./interface").BubbleContentType;
        }): import("vue").VNode | string;
    }> & {
        avatar?(): import("vue").VNode;
        header?(props?: {
            content: import("./interface").BubbleContentType;
        }): import("vue").VNode | string;
        footer?(props?: {
            content: import("./interface").BubbleContentType;
        }): import("vue").VNode | string;
        loading?(): import("vue").VNode;
        message?(props?: {
            content: import("./interface").BubbleContentType;
        }): import("vue").VNode | string;
    };
    attrs: any;
    emit: {};
}, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
    props: {
        prefixCls?: string;
        rootClassName?: string;
        styles?: Partial<Record<import("./interface").SemanticType, import("vue").CSSProperties>>;
        classNames?: Partial<Record<import("./interface").SemanticType, string>>;
        avatar?: Partial<import("./interface")._AvatarProps> | import("vue").VNode;
        placement?: "start" | "end";
        loading?: boolean;
        typing?: import("../type-utility.js").AvoidValidation<import("./interface").TypingOption | boolean>;
        content?: import("./interface").BubbleContentType;
        messageRender?: (content: T) => import("vue").VNode | string;
        loadingRender?: () => import("vue").VNode;
        variant?: "filled" | "borderless" | "outlined" | "shadow";
        shape?: "round" | "corner";
        onTypingComplete?: VoidFunction;
        header?: import("../type-utility.js").AvoidValidation<import("vue").VNode | string | ((content: import("./interface").BubbleContentType) => import("vue").VNode | string)>;
        footer?: import("../type-utility.js").AvoidValidation<import("vue").VNode | string | ((content: import("./interface").BubbleContentType) => import("vue").VNode | string)>;
        style?: import("vue").StyleValue;
        onCopy?: (payload: ClipboardEvent) => void;
        onCut?: (payload: ClipboardEvent) => void;
        onPaste?: (payload: ClipboardEvent) => void;
        onCompositionend?: (payload: CompositionEvent) => void;
        onCompositionstart?: (payload: CompositionEvent) => void;
        onCompositionupdate?: (payload: CompositionEvent) => void;
        onDrag?: (payload: DragEvent) => void;
        onDragend?: (payload: DragEvent) => void;
        onDragenter?: (payload: DragEvent) => void;
        onDragexit?: (payload: DragEvent) => void;
        onDragleave?: (payload: DragEvent) => void;
        onDragover?: (payload: DragEvent) => void;
        onDragstart?: (payload: DragEvent) => void;
        onDrop?: (payload: DragEvent) => void;
        onFocus?: (payload: FocusEvent) => void;
        onFocusin?: (payload: FocusEvent) => void;
        onFocusout?: (payload: FocusEvent) => void;
        onBlur?: (payload: FocusEvent) => void;
        onChange?: (payload: Event) => void;
        onBeforeinput?: (payload: Event) => void;
        onInput?: (payload: Event) => void;
        onReset?: (payload: Event) => void;
        onSubmit?: (payload: Event) => void;
        onInvalid?: (payload: Event) => void;
        onLoad?: (payload: Event) => void;
        onError?: (payload: Event) => void;
        onKeydown?: (payload: KeyboardEvent) => void;
        onKeypress?: (payload: KeyboardEvent) => void;
        onKeyup?: (payload: KeyboardEvent) => void;
        onAuxclick?: (payload: MouseEvent) => void;
        onClick?: (payload: MouseEvent) => void;
        onContextmenu?: (payload: MouseEvent) => void;
        onDblclick?: (payload: MouseEvent) => void;
        onMousedown?: (payload: MouseEvent) => void;
        onMouseenter?: (payload: MouseEvent) => void;
        onMouseleave?: (payload: MouseEvent) => void;
        onMousemove?: (payload: MouseEvent) => void;
        onMouseout?: (payload: MouseEvent) => void;
        onMouseover?: (payload: MouseEvent) => void;
        onMouseup?: (payload: MouseEvent) => void;
        onAbort?: (payload: Event) => void;
        onCanplay?: (payload: Event) => void;
        onCanplaythrough?: (payload: Event) => void;
        onDurationchange?: (payload: Event) => void;
        onEmptied?: (payload: Event) => void;
        onEncrypted?: (payload: Event) => void;
        onEnded?: (payload: Event) => void;
        onLoadeddata?: (payload: Event) => void;
        onLoadedmetadata?: (payload: Event) => void;
        onLoadstart?: (payload: Event) => void;
        onPause?: (payload: Event) => void;
        onPlay?: (payload: Event) => void;
        onPlaying?: (payload: Event) => void;
        onProgress?: (payload: Event) => void;
        onRatechange?: (payload: Event) => void;
        onSeeked?: (payload: Event) => void;
        onSeeking?: (payload: Event) => void;
        onStalled?: (payload: Event) => void;
        onSuspend?: (payload: Event) => void;
        onTimeupdate?: (payload: Event) => void;
        onVolumechange?: (payload: Event) => void;
        onWaiting?: (payload: Event) => void;
        onSelect?: (payload: Event) => void;
        onScroll?: (payload: Event) => void;
        onScrollend?: (payload: Event) => void;
        onTouchcancel?: (payload: TouchEvent) => void;
        onTouchend?: (payload: TouchEvent) => void;
        onTouchmove?: (payload: TouchEvent) => void;
        onTouchstart?: (payload: TouchEvent) => void;
        onPointerdown?: (payload: PointerEvent) => void;
        onPointermove?: (payload: PointerEvent) => void;
        onPointerup?: (payload: PointerEvent) => void;
        onPointercancel?: (payload: PointerEvent) => void;
        onPointerenter?: (payload: PointerEvent) => void;
        onPointerleave?: (payload: PointerEvent) => void;
        onPointerover?: (payload: PointerEvent) => void;
        onPointerout?: (payload: PointerEvent) => void;
        onWheel?: (payload: WheelEvent) => void;
        onAnimationstart?: (payload: AnimationEvent) => void;
        onAnimationend?: (payload: AnimationEvent) => void;
        onAnimationiteration?: (payload: AnimationEvent) => void;
        onTransitionend?: (payload: TransitionEvent) => void;
        onTransitionstart?: (payload: TransitionEvent) => void;
        innerHTML?: string;
        class?: any;
        accesskey?: string;
        contenteditable?: (boolean | "true" | "false") | "inherit" | "plaintext-only";
        contextmenu?: string;
        dir?: string;
        draggable?: boolean | "true" | "false";
        hidden?: (boolean | "true" | "false") | "" | "hidden" | "until-found";
        id?: string;
        inert?: boolean | "true" | "false";
        lang?: string;
        placeholder?: string;
        spellcheck?: boolean | "true" | "false";
        tabindex?: string | number;
        title?: string;
        translate?: "yes" | "no";
        radiogroup?: string;
        role?: string;
        about?: string;
        datatype?: string;
        inlist?: any;
        prefix?: string;
        property?: string;
        resource?: string;
        typeof?: string;
        vocab?: string;
        autocapitalize?: string;
        autocorrect?: string;
        autosave?: string;
        color?: string;
        itemprop?: string;
        itemscope?: boolean | "true" | "false";
        itemtype?: string;
        itemid?: string;
        itemref?: string;
        results?: string | number;
        security?: string;
        unselectable?: "on" | "off";
        inputmode?: "none" | "text" | "tel" | "url" | "email" | "numeric" | "decimal" | "search";
        is?: string;
        'aria-activedescendant'?: string;
        'aria-atomic'?: boolean | "true" | "false";
        'aria-autocomplete'?: "none" | "inline" | "list" | "both";
        'aria-busy'?: boolean | "true" | "false";
        'aria-checked'?: (boolean | "true" | "false") | "mixed";
        'aria-colcount'?: string | number;
        'aria-colindex'?: string | number;
        'aria-colspan'?: string | number;
        'aria-controls'?: string;
        'aria-current'?: (boolean | "true" | "false") | "page" | "step" | "location" | "date" | "time";
        'aria-describedby'?: string;
        'aria-details'?: string;
        'aria-disabled'?: boolean | "true" | "false";
        'aria-dropeffect'?: "none" | "copy" | "execute" | "link" | "move" | "popup";
        'aria-errormessage'?: string;
        'aria-expanded'?: boolean | "true" | "false";
        'aria-flowto'?: string;
        'aria-grabbed'?: boolean | "true" | "false";
        'aria-haspopup'?: (boolean | "true" | "false") | "menu" | "listbox" | "tree" | "grid" | "dialog";
        'aria-hidden'?: boolean | "true" | "false";
        'aria-invalid'?: (boolean | "true" | "false") | "grammar" | "spelling";
        'aria-keyshortcuts'?: string;
        'aria-label'?: string;
        'aria-labelledby'?: string;
        'aria-level'?: string | number;
        'aria-live'?: "off" | "assertive" | "polite";
        'aria-modal'?: boolean | "true" | "false";
        'aria-multiline'?: boolean | "true" | "false";
        'aria-multiselectable'?: boolean | "true" | "false";
        'aria-orientation'?: "horizontal" | "vertical";
        'aria-owns'?: string;
        'aria-placeholder'?: string;
        'aria-posinset'?: string | number;
        'aria-pressed'?: (boolean | "true" | "false") | "mixed";
        'aria-readonly'?: boolean | "true" | "false";
        'aria-relevant'?: "additions" | "additions removals" | "additions text" | "all" | "removals" | "removals additions" | "removals text" | "text" | "text additions" | "text removals";
        'aria-required'?: boolean | "true" | "false";
        'aria-roledescription'?: string;
        'aria-rowcount'?: string | number;
        'aria-rowindex'?: string | number;
        'aria-rowspan'?: string | number;
        'aria-selected'?: boolean | "true" | "false";
        'aria-setsize'?: string | number;
        'aria-sort'?: "none" | "ascending" | "descending" | "other";
        'aria-valuemax'?: string | number;
        'aria-valuemin'?: string | number;
        'aria-valuenow'?: string | number;
        'aria-valuetext'?: string;
    } & import("vue").PublicProps;
    expose(exposed: import("vue").ShallowUnwrapRef<{
        nativeElement: import("vue").Ref<HTMLDivElement, HTMLDivElement>;
    }>): void;
    attrs: any;
    slots: Readonly<{
        avatar?(): import("vue").VNode;
        header?(props?: {
            content: import("./interface").BubbleContentType;
        }): import("vue").VNode | string;
        footer?(props?: {
            content: import("./interface").BubbleContentType;
        }): import("vue").VNode | string;
        loading?(): import("vue").VNode;
        message?(props?: {
            content: import("./interface").BubbleContentType;
        }): import("vue").VNode | string;
    }> & {
        avatar?(): import("vue").VNode;
        header?(props?: {
            content: import("./interface").BubbleContentType;
        }): import("vue").VNode | string;
        footer?(props?: {
            content: import("./interface").BubbleContentType;
        }): import("vue").VNode | string;
        loading?(): import("vue").VNode;
        message?(props?: {
            content: import("./interface").BubbleContentType;
        }): import("vue").VNode | string;
    };
    emit: {};
}>) => import("vue").VNode & {
    __ctx?: Awaited<typeof __VLS_setup>;
}) & {
    List: import("vue").DefineComponent<import("./interface").BubbleListProps, {
        nativeElement: import("vue").Ref<HTMLDivElement, HTMLDivElement>;
        scrollTo: ({ key, offset, behavior, block }: {
            offset?: number;
            key?: string | number;
            behavior?: ScrollBehavior;
            block?: ScrollLogicalPosition;
        }) => void;
    }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("./interface").BubbleListProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
};
export default Bubble;
export { Bubble, BubbleList };
