export declare enum MessageType {
    UpdateRequest = 0,
    Update = 7,
    AwarenessRequest = 3,
    Awareness = 1,
    AddPeer = 4,
    RemovePeer = 5
}
export declare type SignalClientMessage = {
    to: string;
    type: 'signal';
    signal: SignalData;
};
export declare type SignalData = RTCSessionDescriptionInit | {
    type: "candidate";
    candidate: RTCIceCandidate;
} | {
    type: "datachannel";
    room: string;
    id: number;
};
export declare type SignalServerMessage = SignalClientMessage & {
    from: UserInfo;
};
export declare type SignalingRegistrationInfo = {
    room: string;
    token: string;
};
export declare type SignalingRegisterMessage = {
    type: 'register';
    info: SignalingRegistrationInfo;
};
export declare type AnnounceMessage = {
    room: string;
    type: 'announce';
    users: UserInfo[];
};
export declare type UserInfo = {
    user: string;
    accessMode: 'read' | 'write';
};
export declare type SignalingMessage = SignalingRegisterMessage | SignalClientMessage;
export declare type SignalingServerMessage = SignalServerMessage | AnnounceMessage;
