import type { DefineComponent, ExtractPropTypes, ComponentOptionsMixin, PublicProps, ComponentProvideOptions, PropType as __PropType } from 'vue'; import { type Component } from 'vue'; /** * Props interface for GAvatar component * @version 0.1.1 */ export interface GAvatarProps { /** Image source URL */ src?: string | null; /** Text label to display */ label?: string | null; /** Will parse this for initials based on spaces, shows up as placeholder if no src provided or while loading */ name?: string | null; /** * Size of avatar, sets a css var named --g-avatar-size * If string, checks if it has a key in sizes object, else set value as is * If number appends `px` to value */ size?: string | number | null; /** An object containing different sizes, use size prop to select which one */ sizes?: Record; /** Render as circle */ round?: boolean; /** Enable intersection observer for lazy loading */ intersect?: boolean; /** Intersection observer configuration */ intersectOptions?: Record; /** Manual loading control */ manual?: boolean; /** Disable image caching */ disableCache?: boolean; /** Loading indicator style */ loadingStyle?: boolean | string; /** Placeholder type or custom component */ placeholder?: string | Component | boolean; /** Vue transition configuration */ transitionOptions?: Record | null; /** Custom skeleton component */ skeletonComponent?: Component; /** Debug mode */ debug?: string | null; } export type GAvatarExposed = HTMLElement & { /** Reference to the avatar element */ avatarRef: HTMLElement | null; /** Load a new source */ loadSrc: (src: string) => void; /** Whether source is loaded */ isSrcLoaded: boolean; /** Whether source errored */ isSrcError: boolean; /** Source loaded successfully */ srcLoaded: string; /** Source currently loading */ srcLoading: string; /** Image width */ imageWidth: number; /** Size class */ sizeClass: string; }; declare const _sfc_main: DefineComponent; required: false; default: null; }; label: { type: __PropType; required: false; default: null; }; name: { type: __PropType; required: false; default: null; }; size: { type: __PropType; required: false; default: null; }; sizes: { type: __PropType | undefined>; required: false; default: () => { tiny: string; sm: string; md: string; lg: string; xl: string; xxl: string; }; }; round: { type: __PropType; required: false; default: boolean; }; intersect: { type: __PropType; required: false; default: boolean; }; intersectOptions: { type: __PropType | undefined>; required: false; default: () => {}; }; manual: { type: __PropType; required: false; default: boolean; }; disableCache: { type: __PropType; required: false; default: boolean; }; loadingStyle: { type: __PropType; required: false; default: boolean; }; placeholder: { type: __PropType; required: false; skipCheck: boolean; default: string; }; transitionOptions: { type: __PropType | null | undefined>; required: false; default: null; }; skeletonComponent: { type: __PropType; required: false; default: () => DefineComponent; required: false; default: string; }; size: { type: __PropType; required: false; }; width: { type: __PropType; required: false; default: string; }; height: { type: __PropType; required: false; default: string; }; borderRadius: { type: __PropType; required: false; default: null; }; animation: { type: __PropType<"wave" | "none" | undefined>; required: false; /** Loading indicator style */ default: string; }; }>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly; required: false; default: string; }; size: { type: __PropType; required: false; }; width: { type: __PropType; required: false; default: string; }; height: { type: __PropType; required: false; default: string; }; borderRadius: { type: __PropType; required: false; default: null; }; animation: { type: __PropType<"wave" | "none" | undefined>; required: false; /** Loading indicator style */ default: string; }; }>> & Readonly<{}>, { width: string | undefined; height: string | undefined; shape: "rectangle" | "circle" | undefined; borderRadius: string | null | undefined; animation: "wave" | "none" | undefined; }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>; }; debug: { type: __PropType; required: false; default: null; }; }>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, ("error" | "refMounted" | "update:el" | "loaded")[], "error" | "refMounted" | "update:el" | "loaded", PublicProps, Readonly; required: false; default: null; }; label: { type: __PropType; required: false; default: null; }; name: { type: __PropType; required: false; default: null; }; size: { type: __PropType; required: false; default: null; }; sizes: { type: __PropType | undefined>; required: false; default: () => { tiny: string; sm: string; md: string; lg: string; xl: string; xxl: string; }; }; round: { type: __PropType; required: false; default: boolean; }; intersect: { type: __PropType; required: false; default: boolean; }; intersectOptions: { type: __PropType | undefined>; required: false; default: () => {}; }; manual: { type: __PropType; required: false; default: boolean; }; disableCache: { type: __PropType; required: false; default: boolean; }; loadingStyle: { type: __PropType; required: false; default: boolean; }; placeholder: { type: __PropType; required: false; skipCheck: boolean; default: string; }; transitionOptions: { type: __PropType | null | undefined>; required: false; default: null; }; skeletonComponent: { type: __PropType; required: false; default: () => DefineComponent; required: false; default: string; }; size: { type: __PropType; required: false; }; width: { type: __PropType; required: false; default: string; }; height: { type: __PropType; required: false; default: string; }; borderRadius: { type: __PropType; required: false; default: null; }; animation: { type: __PropType<"wave" | "none" | undefined>; required: false; /** Loading indicator style */ default: string; }; }>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly; required: false; default: string; }; size: { type: __PropType; required: false; }; width: { type: __PropType; required: false; default: string; }; height: { type: __PropType; required: false; default: string; }; borderRadius: { type: __PropType; required: false; default: null; }; animation: { type: __PropType<"wave" | "none" | undefined>; required: false; /** Loading indicator style */ default: string; }; }>> & Readonly<{}>, { width: string | undefined; height: string | undefined; shape: "rectangle" | "circle" | undefined; borderRadius: string | null | undefined; animation: "wave" | "none" | undefined; }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>; }; debug: { type: __PropType; required: false; default: null; }; }>> & Readonly<{ onError?: ((...args: any[]) => any) | undefined; onRefMounted?: ((...args: any[]) => any) | undefined; "onUpdate:el"?: ((...args: any[]) => any) | undefined; onLoaded?: ((...args: any[]) => any) | undefined; }>, { src: string | null | undefined; sizes: Record | undefined; label: string | null | undefined; name: string | null | undefined; size: string | number | null | undefined; round: boolean | undefined; intersect: boolean | undefined; intersectOptions: Record | undefined; manual: boolean | undefined; disableCache: boolean | undefined; loadingStyle: string | boolean | undefined; placeholder: string | boolean | Component | undefined; transitionOptions: Record | null | undefined; skeletonComponent: Component | undefined; debug: string | null | undefined; }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>; export default _sfc_main;