import { AnalyticsClient, ConnectionState } from '@skyway-sdk/analytics-client';
import { Event } from '@skyway-sdk/common';
import { Member } from '@skyway-sdk/model';
import { SkyWayChannelImpl } from '../channel';
import { SkyWayContext } from '../context';
export declare function setupAnalyticsSession(context: SkyWayContext, channel: SkyWayChannelImpl, memberDto: Member): Promise<AnalyticsSession>;
export declare class AnalyticsSession {
    client: AnalyticsClient;
    private context;
    readonly onConnectionFailed: Event<unknown>;
    readonly onConnectionStateChanged: Event<ConnectionState>;
    readonly onMessage: Event<MessageEvent<any>>;
    private _isClosed;
    constructor(client: AnalyticsClient, context: SkyWayContext);
    private _listen;
    get connectionState(): ConnectionState;
    private _connect;
    connectWithTimeout(): Promise<unknown>;
    close(): void;
    isClosed(): boolean;
}
export { ConnectionState };
//# sourceMappingURL=analytics.d.ts.map