import { DistributionGroup } from '@bidi/common-services';
import ChatClient, { Config, JID } from '@bidi/chat-client';
import { Store } from '@ngrx/store';
import { Observable } from 'rxjs';
import { Channel, ChannelGroup } from '../../models';
import { NgrxHelpersService } from '../ngrx-helpers/ngrx-helpers.service';
export declare class ChatService {
    private environment;
    private ngrx;
    private store;
    static featureName: string;
    chatClient: ChatClient;
    constructor(environment: any, ngrx: NgrxHelpersService, store: Store<any>);
    private subscription;
    private state$;
    userJid$: Observable<JID>;
    loggedIn$: Observable<boolean>;
    channels$: Observable<Channel[]>;
    selectedGroup$: Observable<ChannelGroup>;
    selectedChannel$: Observable<Channel>;
    initClient(config: Config): this;
    login(username: string, distributionGroups$: Observable<DistributionGroup[]>): void;
    logout(): void;
    selectGroup(group: ChannelGroup): void;
    selectChannel(channel: Channel): void;
    send(message: any, to: Channel): void;
}
