import { BubbleProps } from './types';
import { Ref, VNode } from 'vue';
declare function __VLS_template(): {
    attrs: Partial<{}>;
    slots: {
        avatar?(_: {}): any;
        header?(_: {}): any;
        loading?(_: {}): any;
        loading?(_: {}): any;
        content?(_: {}): any;
        content?(_: {}): any;
        footer?(_: {}): any;
        footer?(_: {}): any;
    };
    refs: {
        divRef: HTMLDivElement;
    };
    rootEl: any;
};
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
declare const __VLS_component: import('vue').DefineComponent<BubbleProps, {
    nativeElement: Ref<HTMLDivElement | undefined, HTMLDivElement | undefined>;
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
    onTypingComplete: (...args: any[]) => void;
    onUpdate: (...args: any[]) => void;
}, string, import('vue').PublicProps, Readonly<BubbleProps> & Readonly<{
    onOnTypingComplete?: ((...args: any[]) => any) | undefined;
    onOnUpdate?: ((...args: any[]) => any) | undefined;
}>, {
    variant: "borderless" | "filled" | "outlined" | "shadow";
    content: string | VNode;
    avatar: string | VNode;
    loading: boolean;
    loadingRender: () => VNode;
    placement: "start" | "end";
    typing: boolean | import('./types').TypingOption;
    transparent: boolean;
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
    divRef: HTMLDivElement;
}, any>;
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
