/// <reference types="node" />
import EventEmitter from "events";
import { XboxClient } from "../";
import { MultiplayerSessionRequest } from "../xboxRestTypes";
export declare class RTAMultiplayerSession extends EventEmitter {
    #private;
    private readonly xbox;
    readonly uri: string;
    get sessionName(): string;
    protected connectionId: string;
    readonly sessionTemplateName: string;
    protected websocketConnected: boolean;
    readonly serviceConfigId: string;
    protected startTimes: number;
    multiplayerSessionRequest: MultiplayerSessionRequest;
    members: Set<XboxClient>;
    functionsToRunOnSessionUpdate: Set<() => void>;
    autoRestart: boolean;
    firstStartSignaled: boolean;
    private readonly updateSessionCallback;
    constructor(xbox: XboxClient, multiplayerSessionRequest: MultiplayerSessionRequest, serviceConfigId: string, sessionTemplateName: string, autoRestart: boolean, updateSessionCallback: (rtaMultiplayerSession: RTAMultiplayerSession) => void);
    private start;
    updateSession(): void;
    join(xbox: XboxClient): void;
}
