import { Action } from '@ngrx/store';
import { Channel, ChatMessage, DistributionGroup } from '../../../models/chat';
import { ChannelGroup } from '../../../models';
export declare class AddUser implements Action {
    payload: {
        user: string;
        host: string;
    };
    static TYPE: string;
    readonly type: string;
    constructor(payload: {
        user: string;
        host: string;
    });
}
export declare class CreateChannelsFromDistributionGroups implements Action {
    payload: {
        groups: DistributionGroup[];
        host: string;
    };
    static TYPE: string;
    readonly type: string;
    constructor(payload: {
        groups: DistributionGroup[];
        host: string;
    });
}
export declare class SelectGroup implements Action {
    payload: ChannelGroup;
    static TYPE: string;
    readonly type: string;
    constructor(payload: ChannelGroup);
}
export declare class SelectChannel implements Action {
    payload: Channel;
    static TYPE: string;
    readonly type: string;
    constructor(payload: Channel);
}
export declare class ChatLogin implements Action {
    payload: {
        endpoint: string;
        user: string;
        password: string;
    };
    static TYPE: string;
    readonly type: string;
    constructor(payload: {
        endpoint: string;
        user: string;
        password: string;
    });
}
export declare class ChatLoginSuccess implements Action {
    payload: number;
    static TYPE: string;
    readonly type: string;
    constructor(payload: number);
}
export declare class ChatLoginFailure implements Action {
    payload: number;
    static TYPE: string;
    readonly type: string;
    constructor(payload: number);
}
export declare class JoinRoom implements Action {
    payload: {
        roomJid: string;
        userNick: string;
    };
    static TYPE: string;
    readonly type: string;
    constructor(payload: {
        roomJid: string;
        userNick: string;
    });
}
export declare class IncomingMessage implements Action {
    payload: ChatMessage;
    static TYPE: string;
    readonly type: string;
    constructor(payload: ChatMessage);
}
export declare class OutgoingMessage implements Action {
    payload: {
        to: Channel;
        message: string;
    };
    static TYPE: string;
    readonly type: string;
    constructor(payload: {
        to: Channel;
        message: string;
    });
}
