import { AfterViewInit, ElementRef, OnInit, TemplateRef } from '@angular/core';
export declare enum IgxAvatarSize {
    SMALL = "small",
    MEDIUM = "medium",
    LARGE = "large"
}
export declare enum IgxAvatarType {
    INITIALS = "initials",
    IMAGE = "image",
    ICON = "icon",
    CUSTOM = "custom"
}
/**
 * Avatar provides a way to display an image, icon or initials to the user.
 *
 * @igxModule IgxAvatarModule
 *
 * @igxTheme igx-avatar-theme, igx-icon-theme
 *
 * @igxKeywords avatar, profile, picture, initials
 *
 * @igxGroup Layouts
 *
 * @remarks
 *
 * The Ignite UI Avatar provides an easy way to add an avatar icon to your application.  This icon can be an
 * image, someone's initials or a material icon from the Google Material icon set.
 *
 * @example
 * ```html
 * <igx-avatar initials="MS" roundShape="true" size="large">
 * </igx-avatar>
 * ```
 */
export declare class IgxAvatarComponent implements OnInit, AfterViewInit {
    elementRef: ElementRef;
    /**
     * This is a reference to the avatar image element in the DOM.
     *
     * @example
     * ```typescript
     *  let image = this.avatar.image;
     * ```
     */
    image: ElementRef;
    /** @hidden @internal */
    protected defaultTemplate: TemplateRef<any>;
    /** @hidden @internal */
    protected imageTemplate: TemplateRef<any>;
    /** @hidden @internal */
    protected initialsTemplate: TemplateRef<any>;
    /** @hidden @internal */
    protected iconTemplate: TemplateRef<any>;
    /**
     * Returns the `aria-label` attribute of the avatar.
     *
     * @example
     * ```typescript
     * let ariaLabel = this.avatar.ariaLabel;
     * ```
     *
     */
    ariaLabel: string;
    /**
     * Returns the `role` attribute of the avatar.
     *
     * @example
     * ```typescript
     * let avatarRole = this.avatar.role;
     * ```
     */
    role: string;
    /**
     * Host `class.igx-avatar` binding.
     *
     * @hidden
     * @internal
     */
    cssClass: string;
    /**
     * Returns the type of the avatar.
     * The avatar can be:
     * - `"initials type avatar"`
     * - `"icon type avatar"`
     * - `"image type avatar"`.
     * - `"custom type avatar"`.
     *
     * @example
     * ```typescript
     * let avatarDescription = this.avatar.roleDescription;
     * ```
     */
    roleDescription: string;
    /**
     * Sets the `id` of the avatar. If not set, the first avatar component will have `id` = `"igx-avatar-0"`.
     *
     * @example
     * ```html
     * <igx-avatar id="my-first-avatar"></igx-avatar>
     * ```
     */
    id: string;
    /**
     * Sets a round shape to the avatar, if `roundShape` is set to `true`.
     * By default the shape of the avatar is a square.
     *
     * @example
     * ```html
     * <igx-avatar roundShape="true" ></igx-avatar>
     * ```
     */
    roundShape: boolean;
    /**
     * Sets the color of the avatar's initials or icon.
     *
     * @example
     *```html
     *<igx-avatar color="blue"></igx-avatar>
     *```
     */
    color: string;
    /**
     * Sets the background color of the avatar.
     *
     * @example
     * ```html
     * <igx-avatar bgColor="yellow"></igx-avatar>
     * ```
     * @igxFriendlyName Background color
     */
    bgColor: string;
    /**
     * Sets initials to the avatar.
     *
     * @example
     * ```html
     * <igx-avatar initials="MN"></igx-avatar>
     * ```
     */
    initials: string;
    /**
     * Sets an icon to the avatar. All icons from the material icon set are supported.
     *
     * @example
     * ```html
     * <igx-avatar icon="phone"></igx-avatar>
     * ```
     */
    icon: string;
    /**
     * Sets the image source of the avatar.
     *
     * @example
     * ```html
     * <igx-avatar src="images/picture.jpg"></igx-avatar>
     * ```
     * @igxFriendlyName Image URL
     */
    src: string;
    /**
     * @hidden
     * @internal
     */
    private _size;
    /**
     * Returns the size of the avatar.
     *
     * @example
     * ```typescript
     * let avatarSize = this.avatar.size;
     * ```
     */
    get size(): string | IgxAvatarSize;
    /**
     * Sets the size  of the avatar.
     * By default, the size is `"small"`. It can be set to `"medium"` or `"large"`.
     *
     * @example
     * ```html
     * <igx-avatar size="large"></igx-avatar>
     * ```
     */
    set size(value: string | IgxAvatarSize);
    /**
     * Returns the type of the avatar.
     *
     * @example
     * ```typescript
     * let avatarType = this.avatar.type;
     * ```
     */
    get type(): IgxAvatarType;
    /**
     * Returns the template of the avatar.
     *
     * @hidden
     * @internal
     */
    get template(): TemplateRef<any>;
    constructor(elementRef: ElementRef);
    /** @hidden @internal */
    ngOnInit(): void;
    /** @hidden @internal */
    ngAfterViewInit(): void;
    /** @hidden @internal */
    private getRole;
    /**
     * Returns the css url of the image.
     *
     * @hidden
     * @internal
     */
    getSrcUrl(): string;
}
/**
 * @hidden
 */
export declare class IgxAvatarModule {
}
