import { HTMLAttributes } from 'vue';
import { MazColor } from './types';
export interface MazAvatarProps {
    /** The style of the component */
    style?: HTMLAttributes['style'];
    /** The class of the component */
    class?: HTMLAttributes['class'];
    /** The source of the image */
    src?: string | null;
    /** The caption of the avatar */
    caption?: string | null;
    /** The link of the avatar */
    href?: string;
    /** The link (router-link or nuxt-link) of the avatar */
    to?: string | Record<string, unknown>;
    /** The alt of the image */
    alt?: string;
    /** The target of the link */
    target?: string;
    /** The size of the avatar */
    size?: string;
    /** Add a border to the avatar */
    bordered?: boolean;
    /** Make the avatar clickable */
    clickable?: boolean;
    /** Make the avatar square */
    square?: boolean;
    /** Remove the shadow */
    noElevation?: boolean;
    /** Show the caption */
    showCaption?: boolean;
    /** Make the image height full */
    imageHeightFull?: boolean;
    /** Remove the loader */
    hideLoader?: boolean;
    /**
     * The color of the clickable button
     * @values `"primary" | "secondary" | "accent" | "info" | "success" | "warning" | "destructive" | "contrast" | "transparent"`
     */
    buttonColor?: MazColor;
    /** Remove the icon on hover when component is clickable */
    hideClickableIcon?: boolean;
    /** Number of letters to display in the round text */
    letterCount?: number;
    /**
     * Size of the rounded
     * @values `'none' | 'sm' | 'md' | 'lg' | 'xl' | 'full'`
     */
    roundedSize?: 'none' | 'sm' | 'md' | 'lg' | 'xl' | 'full';
    /** The fallback src to replace the src on loading error */
    fallbackSrc?: string;
    /**
     * The loading strategy of the image - lazy, eager or intersecting
     * @default 'intersecting'
     * @values `'lazy' | 'eager' | 'intersecting'`
     */
    loading?: 'lazy' | 'eager' | 'intersecting';
    /**
     * The color of the avatar
     * @values `"primary" | "secondary" | "accent" | "info" | "success" | "warning" | "destructive" | "contrast" | "transparent"`
     */
    color?: MazColor;
}
declare function __VLS_template(): {
    attrs: Partial<{}>;
    slots: {
        'round-text'?(_: {}): any;
        icon?(_: {}): any;
        caption?(_: {}): any;
    };
    refs: {};
    rootEl: any;
};
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
declare const __VLS_component: import('vue').DefineComponent<MazAvatarProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
    click: (event: MouseEvent) => any;
    error: (el: Element) => any;
    loaded: (el: Element) => any;
    loading: (el: Element) => any;
    intersecting: (el: Element) => any;
}, string, import('vue').PublicProps, Readonly<MazAvatarProps> & Readonly<{
    onClick?: ((event: MouseEvent) => any) | undefined;
    onError?: ((el: Element) => any) | undefined;
    onLoaded?: ((el: Element) => any) | undefined;
    onLoading?: ((el: Element) => any) | undefined;
    onIntersecting?: ((el: Element) => any) | undefined;
}>, {}, {}, {}, {}, 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;
    };
};
