import { OnDestroy, TemplateRef } from '@angular/core';
import { Observable, Subscription } from 'rxjs';
import { Channel } from 'stream-chat';
import { ChannelService } from '../channel.service';
import { CustomTemplatesService } from '../custom-templates.service';
import { ThemeService } from '../theme.service';
import { ChannelPreviewContext, DefaultStreamChatGenerics } from '../types';
import * as i0 from "@angular/core";
/**
 * The `ChannelList` component renders the list of channels.
 */
export declare class ChannelListComponent implements OnDestroy {
    private channelService;
    private customTemplatesService;
    private themeService;
    channels$: Observable<Channel<DefaultStreamChatGenerics>[] | undefined>;
    isError$: Observable<boolean>;
    isInitializing$: Observable<boolean>;
    isLoadingMoreChannels: boolean;
    hasMoreChannels$: Observable<boolean>;
    customChannelPreviewTemplate: TemplateRef<ChannelPreviewContext> | undefined;
    theme$: Observable<string>;
    subscriptions: Subscription[];
    private container;
    constructor(channelService: ChannelService, customTemplatesService: CustomTemplatesService, themeService: ThemeService);
    ngOnDestroy(): void;
    loadMoreChannels(): Promise<void>;
    trackByChannelId(_: number, item: Channel<DefaultStreamChatGenerics>): string;
    static ɵfac: i0.ɵɵFactoryDeclaration<ChannelListComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ChannelListComponent, "stream-channel-list", never, {}, {}, never, ["[channel-list-top]", "[channel-list-bottom]"], false, never>;
}
