import { Observable } from 'rxjs';
import type { ClientConnectionState, ConnectionClient, WebsocketType } from './ConnectionClient';
import type { WebsocketMessage } from './WebsocketEvents';
import type { ConnectionIndicator } from '../common';
import type { PartitionAuthSource } from '../partitions';
/**
 * Defines a connection client that attempts to authenticate before bubbling a connection event.
 */
export declare class AuthenticatedConnectionClient implements ConnectionClient {
    private _inner;
    private _authSource;
    private _connectionStateChanged;
    constructor(inner: ConnectionClient, authSource: PartitionAuthSource);
    get origin(): string;
    get info(): import("../common").ConnectionInfo;
    get indicator(): ConnectionIndicator;
    get connectionState(): Observable<ClientConnectionState>;
    get onError(): Observable<import("./WebsocketEvents").WebsocketErrorInfo>;
    get isConnected(): boolean;
    /**
     * Gets an observable for events with the given name.
     * @param name The name of the events.
     */
    event<K extends WebsocketMessage['type']>(name: K): Observable<WebsocketType<K>>;
    send(message: WebsocketMessage): void;
    disconnect(): void;
    connect(): void;
    private _login;
    private _loginWithIndicator;
}
//# sourceMappingURL=AuthenticatedConnectionClient.d.ts.map