import { StateSnapshot } from "../eventDefinitions"; import { AddDataTrackCallback, AddTrackCallback, Connection } from "./connection"; import { DataTrack } from "./dataTrack"; import { Device } from "./device"; import { MediaElement } from "./mediaElement"; import { Track } from "./track"; declare type AddConnectionCallback = (connection: Connection) => void; export declare class State { connections: Connection[]; mediaElements: MediaElement[]; devices: Device[]; addConnectionCallbacks: AddConnectionCallback[]; addTrackCallbacks: AddTrackCallback[]; addDataTrackCallbacks: AddDataTrackCallback[]; getSnapshot(): StateSnapshot; addConnection(id: string, rtcPeerConnection: RTCPeerConnection): void; getConnection(rtcPeerConnection: RTCPeerConnection): Connection | null; removeConnection(id: string): void; onAddConnection(callback: AddConnectionCallback): void; onAddTrack(callback: AddTrackCallback): void; onAddDataTrack(callback: AddDataTrackCallback): void; getTrack(mediaStreamTrack: MediaStreamTrack): Track | null; getAllTracks(): Track[]; getMediaElementsForTrack(track: Track): MediaElement[]; removeTrack(id: string): boolean; addDataTrack(id: string, connectionId: string, track: RTCDataChannel, origin: "local" | "remote"): void; getAllDataTracks(): DataTrack[]; } export {};