import * as _angular_core from '@angular/core';
import { agorapulseSymbol, NetworkName, SymbolRegistry } from '@agorapulse/ui-symbol';
import * as i1 from '@angular/common';
import { NgStyle } from '@angular/common';

interface AvatarItem {
    profilePicture?: string;
    alt?: string;
    network?: AvatarNetwork;
    username: string;
    showInitials?: boolean | string;
    bigNetwork?: boolean;
    anonymous?: boolean;
    online?: boolean;
    rounded?: boolean;
}
type AvatarNetwork = NetworkName;
type AvatarSize = 56 | 48 | 40 | 36 | 32 | 24 | 16;
type BackgroundView = {
    mode: 'image';
    image: {
        src: string;
        size: number;
        alt?: string;
    };
} | {
    mode: 'initials';
    text: string;
} | {
    mode: 'symbol';
    symbolId: agorapulseSymbol;
    big?: boolean;
} | {
    mode?: never;
};
type OverlayView = {
    mode: 'online';
} | {
    mode: 'network';
    network: NetworkName;
    round: boolean;
} | {
    mode?: never;
};
declare class AvatarComponent {
    private ngStyle;
    profilePicture: _angular_core.InputSignal<string | undefined>;
    alt: _angular_core.InputSignal<string>;
    network: _angular_core.InputSignalWithTransform<"bluesky" | "facebook" | "instagram" | "linkedin" | "web" | "youtube" | "meta" | "google" | "twitter" | "pinterest" | "threads" | "tiktok" | "webBlog" | "webNews" | "X" | "xPlus" | "reddit" | undefined, string | undefined>;
    size: _angular_core.InputSignal<AvatarSize | "16" | "32" | "24" | "56" | "48" | "40" | "36">;
    username: _angular_core.InputSignal<string | undefined>;
    showInitials: _angular_core.InputSignal<string | boolean | undefined>;
    bigNetwork: _angular_core.InputSignal<boolean>;
    anonymous: _angular_core.InputSignal<boolean>;
    online: _angular_core.InputSignal<boolean>;
    hideBigNetwork: _angular_core.InputSignal<boolean>;
    rounded: _angular_core.InputSignalWithTransform<boolean, unknown>;
    private imageError;
    backgroundView: _angular_core.Signal<BackgroundView>;
    overlayView: _angular_core.Signal<OverlayView>;
    private useBigNetwork;
    private automaticBigSymbolNetwork;
    protected showBigNetworkBackground: _angular_core.Signal<boolean | undefined>;
    private validProfilePicture;
    constructor(symbolRegistry: SymbolRegistry, ngStyle: NgStyle);
    onImageError(): void;
    private buildBackgroundView;
    private buildOverlayView;
    private buildHostStyle;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<AvatarComponent, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<AvatarComponent, "ap-avatar", never, { "profilePicture": { "alias": "profilePicture"; "required": false; "isSignal": true; }; "alt": { "alias": "alt"; "required": false; "isSignal": true; }; "network": { "alias": "network"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "username": { "alias": "username"; "required": false; "isSignal": true; }; "showInitials": { "alias": "showInitials"; "required": false; "isSignal": true; }; "bigNetwork": { "alias": "bigNetwork"; "required": false; "isSignal": true; }; "anonymous": { "alias": "anonymous"; "required": false; "isSignal": true; }; "online": { "alias": "online"; "required": false; "isSignal": true; }; "hideBigNetwork": { "alias": "youtubeAvatarMode"; "required": false; "isSignal": true; }; "rounded": { "alias": "rounded"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.NgStyle; inputs: {}; outputs: {}; }]>;
}

export { AvatarComponent };
export type { AvatarItem, AvatarNetwork, AvatarSize };
