import { VNode } from 'vue'; import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers'; type AvatarSizeType = 'normal' | 'large' | 'xlarge' | undefined; type AvatarShapeType = 'square' | 'circle' | undefined; export interface AvatarProps { /** * Defines the text to display. */ label?: string | undefined; /** * Defines the icon to display. */ icon?: string | undefined; /** * Defines the image to display. */ image?: string | undefined; /** * Size of the element, valid options are 'normal', 'large' and 'xlarge'. * @see AvatarSizeType * Default value is 'normal'. */ size?: AvatarSizeType; /** * Shape of the element, valid options are 'square' and 'circle'. * @see AvatarShapeType * Default value is 'square'. */ shape?: AvatarShapeType; /** * Establishes a string value that labels the component. */ 'aria-label'?: string | undefined; /** * Establishes relationships between the component and label(s) where its value should be one or more element IDs. */ 'aria-labelledby'?: string | undefined; } export interface AvatarSlots { /** * Content can easily be customized with the default slot instead of using the built-in modes. */ default: () => VNode[]; } export declare type AvatarEmits = { /** * Triggered when an error occurs while loading an image file. */ error: () => void; }; declare class Avatar extends ClassComponent {} declare module '@vue/runtime-core' { interface GlobalComponents { Avatar: GlobalComponentConstructor; } } /** * * Avatar represents people using icons, labels and images. * * Demos: * * - [Avatar](https://www.primefaces.org/primevue/avatar) * */ export default Avatar;