import { AfterViewInit, ChangeDetectorRef, NgZone, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
import { Channel, User } from 'stream-chat';
import { ChatClientService } from '../chat-client.service';
import { AvatarLocation, AvatarType, DefaultStreamChatGenerics } from '../types';
import * as i0 from "@angular/core";
/**
 * The `Avatar` component displays the provided image, with fallback to the first letter of the optional name input.
 */
export declare class AvatarComponent implements OnChanges, OnInit, AfterViewInit, OnDestroy {
    private chatClientService;
    private ngZone;
    private cdRef;
    /**
     * An optional name of the image, used for fallback image or image title (if `imageUrl` is provided)
     */
    name: string | undefined;
    /**
     * The URL of the image to be displayed. If the image can't be displayed the first letter of the name input is displayed.
     */
    imageUrl: string | undefined;
    /**
     * The location the avatar will be displayed in
     */
    location: AvatarLocation | undefined;
    /**
     * The channel the avatar belongs to (if avatar of a channel is displayed)
     */
    channel?: Channel<DefaultStreamChatGenerics>;
    /**
     * The user the avatar belongs to (if avatar of a user is displayed)
     */
    user?: User<DefaultStreamChatGenerics>;
    /**
     * The type of the avatar: channel if channel avatar is displayed, user if user avatar is displayed
     */
    type: AvatarType | undefined;
    /**
     * If a channel avatar is displayed, and if the channel has exactly two members a green dot is displayed if the other member is online. Set this flag to `false` to turn off this behavior.
     */
    showOnlineIndicator: boolean;
    /**
     * If channel/user image isn't provided the initials of the name of the channel/user is shown instead, you can choose how the initals should be computed
     */
    initialsType: 'first-letter-of-first-word' | 'first-letter-of-each-word';
    isError: boolean;
    isOnline: boolean;
    private isOnlineSubscription?;
    initials: string;
    fallbackChannelImage: string | undefined;
    private userId?;
    private isViewInited;
    private subscriptions;
    constructor(chatClientService: ChatClientService, ngZone: NgZone, cdRef: ChangeDetectorRef);
    ngOnChanges(changes: SimpleChanges): void;
    ngOnInit(): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    private setFallbackChannelImage;
    private setInitials;
    private updateIsOnlineSubscription;
    private getOtherMemberIfOneToOneChannel;
    static ɵfac: i0.ɵɵFactoryDeclaration<AvatarComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AvatarComponent, "stream-avatar", never, { "name": { "alias": "name"; "required": false; }; "imageUrl": { "alias": "imageUrl"; "required": false; }; "location": { "alias": "location"; "required": false; }; "channel": { "alias": "channel"; "required": false; }; "user": { "alias": "user"; "required": false; }; "type": { "alias": "type"; "required": false; }; "showOnlineIndicator": { "alias": "showOnlineIndicator"; "required": false; }; "initialsType": { "alias": "initialsType"; "required": false; }; }, {}, never, never, false, never>;
}
