import { Slot } from 'vue';
import { RouteLocation } from 'vue-router';
type __VLS_Props = {
    /**
     * Override generated avatar, can be an url or an icon class
     */
    avatarImage?: string;
    /**
     * Provide the user id if this is a user
     */
    user?: string;
    /**
     * Displayed label
     */
    displayName?: string;
    /**
     * Whether or not to display the user-status
     */
    showUserStatus?: boolean;
    /**
     * Define the whole bubble as a link
     */
    url?: string;
    /**
     * Use bubble as a router-link for in-app navigation
     */
    to?: RouteLocation;
    /**
     * Use the primary colour
     */
    primary?: boolean;
    /**
     * This is the height of the component
     */
    size?: number;
    /**
     * This is the margin of the avatar (size - margin = avatar size)
     */
    margin?: number;
};
type __VLS_PublicProps = {
    'open'?: boolean;
} & __VLS_Props;
declare function __VLS_template(): {
    attrs: Partial<{}>;
    slots: Readonly<{
        /**
         * Main Popover content on userbubble hover/focus
         */
        default?: Slot;
        /**
         * Optional slot just after the name
         */
        name?: Slot;
    }> & {
        /**
         * Main Popover content on userbubble hover/focus
         */
        default?: Slot;
        /**
         * Optional slot just after the name
         */
        name?: Slot;
    };
    refs: {};
    rootEl: any;
};
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
declare const __VLS_component: import('vue').DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
    click: (event: MouseEvent) => any;
    "update:open": (value: boolean) => any;
}, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
    onClick?: ((event: MouseEvent) => any) | undefined;
    "onUpdate:open"?: ((value: boolean) => any) | undefined;
}>, {
    size: number;
    displayName: string;
    to: RouteLocation;
    url: string;
    user: string;
    avatarImage: string;
    margin: number;
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
