export declare type AvatarStackItemId = string | number;
export declare type AvatarStackItemType = 'company' | 'user' | 'group';
export interface AvatarStackItem {
    /**
     * Avatar ID
     * @since 10.19.0
     */
    id: AvatarStackItemId;
    /**
     * Avatar name
     * @since 10.19.0
     */
    name: string;
    /**
     * Avatar type
     * @since 10.19.0
     */
    type: AvatarStackItemType;
    /**
     * Avatar description
     * @since 10.19.0
     */
    description?: string;
    /**
     * Avatar image URL
     * @since 10.19.0
     */
    imageUrl?: string;
    /**
     * Avatar link URL
     * @since 10.19.0
     */
    linkUrl?: string;
    /**
     * Avatar initials
     * @since 10.19.0
     */
    initials?: string;
    /**
     * Avatar inactive state
     * @defaultValue false
     * @since 10.19.0
     */
    inactive?: boolean;
}
export declare type AvatarStackSize = 'sm' | 'md' | 'lg';
export interface AvatarStackProps<Item extends AvatarStackItem = AvatarStackItem> {
    /**
     * Avatar stack items
     * @since 10.22.0
     */
    items: Item[];
    /**
     * Avatar item imageURL getter
     * @since 10.22.0
     */
    getImageUrl?: (item: Item) => string;
    /**
     * Avatar item initials getter
     * @since 10.22.0
     */
    getInitials?: (item: Item) => string;
    /**
     * Avatar stack title
     * @since 10.19.0
     */
    title: string;
    /**
     * Avatar stack size
     * @defaultValue lg
     * @since 10.19.0
     */
    size?: AvatarStackSize;
    /**
     * The callback to run when user clicks on view all button.
     * If provided, the modal with all items will not be shown.
     * @since 12.12.0
     */
    onClickViewAll?: () => void;
}
export interface FoldedAvatarStackProps<Item extends AvatarStackItem> {
    /**
     * @since 10.22.0
     */
    items: Item[];
    /**
     * @since 10.19.0
     */
    onClickViewAll: () => void;
    /**
     * @since 10.19.0
     */
    size: AvatarStackSize;
    /**
     * @since 10.19.0
     */
    restCountLabel: string;
    /**
     * @since 10.19.0
     */
    isViewAllNeeded: boolean;
    /**
     * @since 11.13.0
     */
    title: string;
}
export interface ViewAllModalProps<Item extends AvatarStackItem> {
    /**
     * @since 10.22.0
     */
    items: Item[];
    /**
     * @since 10.19.0
     */
    onClose: () => void;
    /**
     * @since 10.19.0
     */
    isOpen: boolean;
    /**
     * @since 10.19.0
     */
    title: string;
}
