/// <reference types="node" />
import { EventEmitter } from 'events';
import { ENV } from '../constants';
import { ProgressHookType, SignerType } from '../types';
import { PushStreamInitializeProps, STREAM } from './pushStreamTypes';
export declare class PushStream extends EventEmitter {
    private _listen;
    private decryptedPgpPvtKey?;
    private progressHook?;
    private signer?;
    private pushChatSocket;
    private pushNotificationSocket;
    private account;
    private raw;
    private options;
    private chatInstance;
    private listen;
    private disconnected;
    constructor(account: string, _listen: STREAM[], options: PushStreamInitializeProps, decryptedPgpPvtKey?: string | undefined, progressHook?: ((progress: ProgressHookType) => void) | undefined, signer?: SignerType | undefined);
    static initialize(account: string, listen: STREAM[], env: ENV, decryptedPgpPvtKey?: string, progressHook?: (progress: ProgressHookType) => void, signer?: SignerType, options?: PushStreamInitializeProps): Promise<PushStream>;
    reinit(listen: STREAM[], newOptions: PushStreamInitializeProps): Promise<void>;
    connect(): Promise<void>;
    connected(): boolean;
    disconnect(): Promise<void>;
    info(): {
        options: PushStreamInitializeProps;
        listen: STREAM[];
    };
    private shouldEmitChat;
    private shouldEmitSpace;
    private shouldEmitChannel;
    private shouldEmitVideo;
}
