import { type ExtractPublicPropTypes, type Ref } from 'vue';
import { type ThemeComponent } from '../../composables/useTheme';
declare const avatarProps: {
    tag: {
        type: StringConstructor;
        default: string;
    };
    name: StringConstructor;
    alt: StringConstructor;
    image: StringConstructor;
    outlined: BooleanConstructor;
    rounded: BooleanConstructor;
    color: {
        readonly type: StringConstructor;
        readonly default: string | undefined;
    };
    size: {
        readonly type: import("vue").PropType<import("../../composables/useCommon").Size>;
        readonly default: "md";
        readonly validator: (value: string) => boolean;
    };
};
export type AvatarProps = ExtractPublicPropTypes<typeof avatarProps>;
type InternalClasses = 'wrapper';
type InternalExtraData = {
    source: Ref<string | undefined>;
};
export interface AvatarTheme extends ThemeComponent<AvatarProps, InternalClasses, InternalExtraData> {
}
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    tag: {
        type: StringConstructor;
        default: string;
    };
    name: StringConstructor;
    alt: StringConstructor;
    image: StringConstructor;
    outlined: BooleanConstructor;
    rounded: BooleanConstructor;
    color: {
        readonly type: StringConstructor;
        readonly default: string | undefined;
    };
    size: {
        readonly type: import("vue").PropType<import("../../composables/useCommon").Size>;
        readonly default: "md";
        readonly validator: (value: string) => boolean;
    };
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    tag: {
        type: StringConstructor;
        default: string;
    };
    name: StringConstructor;
    alt: StringConstructor;
    image: StringConstructor;
    outlined: BooleanConstructor;
    rounded: BooleanConstructor;
    color: {
        readonly type: StringConstructor;
        readonly default: string | undefined;
    };
    size: {
        readonly type: import("vue").PropType<import("../../composables/useCommon").Size>;
        readonly default: "md";
        readonly validator: (value: string) => boolean;
    };
}>> & Readonly<{}>, {
    tag: string;
    outlined: boolean;
    color: string;
    rounded: boolean;
    size: import("../../composables/useCommon").Size;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, {
    avatarIcon?(_: {}): any;
}>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
