import { BaseClientOptions } from './utils/interfaces';
import { BaseComponent } from './BaseComponent';
import { EventEmitter } from './utils/EventEmitter';
export declare class BaseClient<EventTypes extends EventEmitter.ValidEventTypes> extends BaseComponent<EventTypes> {
    options: BaseClientOptions;
    constructor(options: BaseClientOptions);
    /**
     * Connect the underlay WebSocket connection to the SignalWire network.
     *
     * @returns Promise that will resolve with the Client object.
     */
    connect(): Promise<this>;
    /**
     * Disconnect the Client from the SignalWire network.
     */
    disconnect(): void;
    removeAllListeners<T extends EventEmitter.EventNames<EventTypes>>(event?: T): EventEmitter<EventTypes, any>;
}
//# sourceMappingURL=BaseClient.d.ts.map