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