import type { ConnectionClient, ClientConnectionState } from './ConnectionClient';
import type { Observable } from 'rxjs';
import { Subject } from 'rxjs';
import type { ConnectionInfo } from '../common/ConnectionInfo';
import type { WebsocketErrorInfo, WebsocketMessage } from './WebsocketEvents';
import type { ConnectionIndicator } from '../common';
export declare class MemoryConnectionClient implements ConnectionClient {
    private _connectionState;
    private _onError;
    private _info;
    private _indicator;
    get connectionState(): Observable<ClientConnectionState>;
    get isConnected(): boolean;
    sentMessages: WebsocketMessage[];
    events: Map<"rate_limit_exceeded" | "login" | "login_result" | "repo/watch_branch" | "repo/watch_branch_result" | "repo/unwatch_branch" | "repo/watch_branch_devices" | "repo/unwatch_branch_devices" | "repo/add_updates" | "repo/get_updates" | "http_request" | "http_response" | "http_partial_response" | "repo/updates_received" | "repo/send_action" | "repo/receive_action" | "repo/connected_to_branch" | "repo/disconnected_from_branch" | "repo/connection_count" | "sync/time" | "sync/time/response" | "permission/request/missing" | "permission/request/missing/response", Subject<any>>;
    get info(): ConnectionInfo;
    set info(value: ConnectionInfo);
    get indicator(): ConnectionIndicator | null;
    set indicator(value: ConnectionIndicator | null);
    get onError(): Subject<WebsocketErrorInfo>;
    origin: string;
    event<T>(name: WebsocketMessage['type']): Observable<T>;
    send(message: WebsocketMessage): void;
    disconnect(): void;
    connect(): void;
    constructor(device?: ConnectionInfo);
}
//# sourceMappingURL=MemoryConnectionClient.d.ts.map