import { ElementRef, OnInit, OnChanges, Renderer2, InjectionToken } from '@angular/core';
import { LyTheme2, ThemeVariables, StyleTemplate, StyleRenderer } from '@alyle/ui';
import * as i0 from "@angular/core";
export interface LyAvatarTheme {
    /** Styles for Avatar Component */
    root?: () => StyleTemplate;
}
export interface LyAvatarDefaultOptions {
    size?: number;
    bg?: string;
}
export interface LyAvatarVariables {
    avatar?: LyAvatarTheme;
}
export declare const LY_AVATAR_DEFAULT_OPTIONS: InjectionToken<LyAvatarDefaultOptions>;
export declare const STYLES: (theme: ThemeVariables & LyAvatarVariables) => {
    $name: string;
    $priority: number;
    root: (_className: string) => string;
};
/** @docs-private */
export declare class LyAvatarBase {
    _theme: LyTheme2;
    constructor(_theme: LyTheme2);
}
/** @docs-private */
export declare const LyAvatarMixinBase: import("@alyle/ui/src/common/constructor").Constructor<import("@alyle/ui/src/common/build-common-behaviors").CanStyleUpdater> & import("@alyle/ui/src/common/constructor").Constructor<import("@alyle/ui/src/common/bg").CanBg> & import("@alyle/ui/src/common/constructor").Constructor<import("@alyle/ui/src/common/color").CanColor> & import("@alyle/ui/src/common/constructor").Constructor<import("@alyle/ui/src/common/raised").CanRaised> & import("@alyle/ui/src/common/constructor").Constructor<import("@alyle/ui/src/common/outlined").CanOutlined> & import("@alyle/ui/src/common/constructor").Constructor<import("@alyle/ui/src/common/elevation").CanElevation> & import("@alyle/ui/src/common/constructor").Constructor<import("@alyle/ui/src/common/shadow-color").CanShadowColor> & typeof LyAvatarBase;
export declare class LyAvatar extends LyAvatarMixinBase implements OnChanges, OnInit {
    private _elementRef;
    readonly sRenderer: StyleRenderer;
    private _defaults;
    /** @docs-private */
    static readonly и = "LyAvatar";
    /** @docs-private */
    readonly classes: import("@alyle/ui").LyClasses<(theme: ThemeVariables & LyAvatarVariables) => {
        $name: string;
        $priority: number;
        root: (_className: string) => string;
    }>;
    private _size;
    /** Avatar size */
    set size(val: number);
    get size(): number;
    [0x1]: string;
    constructor(theme: LyTheme2, renderer: Renderer2, _elementRef: ElementRef, sRenderer: StyleRenderer, _defaults: LyAvatarDefaultOptions);
    ngOnChanges(): void;
    ngOnInit(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<LyAvatar, [null, null, null, null, { optional: true; }]>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<LyAvatar, "ly-avatar", never, { "bg": { "alias": "bg"; "required": false; }; "color": { "alias": "color"; "required": false; }; "raised": { "alias": "raised"; "required": false; }; "outlined": { "alias": "outlined"; "required": false; }; "elevation": { "alias": "elevation"; "required": false; }; "shadowColor": { "alias": "shadowColor"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, {}, never, never, false, never>;
}
