import type { Name } from '@mothepro/signaling-lobby';
import HashableSet from './HashableSet.js';
/**
 * Helper to gets a list of `ClientID`s from a buffer at an offset.
 *
 * Unfortunately, Buffer -> UInt16Array is not WAI.
 *  Also, do not rely on the underlying ArrayBuffer `data.buffer`, socket may modify it...
 */
export declare function parseClientIds(offset: number, data: DataView): HashableSet<number>;
/** Helper to get name that server assigns. */
export declare function parseYourName(data: DataView): Name;
/** Helper to get status of a Client joining. */
export declare function parseClientJoin(data: DataView): {
    id: number;
    name: string;
};
/** Helper to get status of a Client leaving. */
export declare function parseClientLeave(data: DataView): number;
/** Helper to get status of a Client leaving. */
export declare function parseGroupChange(data: DataView): {
    approve: boolean;
    actor: number;
    members: HashableSet<number>;
};
/** Helper to get status of a Group finalization. */
export declare function parseGroupFinalize(data: DataView): {
    code: number;
    cmp: number;
    members: HashableSet<number>;
};
export declare function parseSdp(data: DataView): {
    from: number;
    sdp: {
        type: RTCSdpType;
        sdp: string;
    };
};
export declare function parseFallback(data: DataView): {
    from: number;
    data: ArrayBuffer;
};
