import { TopologyEnum } from './service/topology/Topology';
import { SignalingState } from './Signaling';
import { IWebChannelOptions as WebGroupOptions, WebChannel } from './WebChannel';
export declare const wcs: WeakMap<WebGroup, WebChannel>;
export { WebGroupOptions };
export declare type DataType = string | Uint8Array;
export declare class WebGroup {
    id: number;
    myId: number;
    key: string;
    members: number[];
    neighbors: number[];
    topology: TopologyEnum;
    state: number;
    signalingState: SignalingState;
    signalingServer: string;
    autoRejoin: boolean;
    onMessage: ((id: number, data: DataType) => void) | undefined | null;
    onMyId: ((id: number) => void) | undefined | null;
    onMemberJoin: ((id: number) => void) | undefined | null;
    onMemberLeave: ((id: number) => void) | undefined | null;
    onStateChange: ((state: number) => void) | undefined | null;
    onSignalingStateChange: ((state: SignalingState) => void) | undefined | null;
    constructor(options?: WebGroupOptions);
    join(key?: string): void;
    invite(url: string): void;
    leave(): void;
    send(data: DataType): void;
    sendTo(id: number, data: DataType): void;
}
