import { BehaviorSubject } from 'rxjs'; import SimplePeer from 'simple-peer'; import { ReactSimplePeerModel } from 'Models/react-simple-peer.model'; import { Instance, SignalData } from 'simple-peer'; import { JoinRequest } from 'Models/JoinRequest'; import { Stack } from 'typed-structures/dist'; import { ClientOffer } from 'Models/ClientOffer'; export { ReactSimplePeerModel } from './Models/react-simple-peer.model'; export { JoinRoomButton } from './Components/JoinRoomButton'; export { Setup } from './Components/Setup'; export { Peers } from './Components/Peers'; export { State } from './Components/State'; export { PeerVideo } from './Components/PeerVideo'; export { ClientOffer } from './Models/ClientOffer'; export { JoinRequest } from './Models/JoinRequest'; export declare enum Status { IDLE = "IDLE", EMITTING_OFFER = "EMITTING_OFFER", REQUESTING_ACCESS = "REQUESTING_ACCESS", RECEIVING_RESPONSE_ACCESS = "RECEIVING_RESPONSE_ACCESS", CONNECTING_TO_EXISTING_PEERS = "CONNECTING_TO_EXISTING_PEERS", JOINING_SESSION = "JOINING_SESSION" } export interface IReactSimplePeerState { peers: { [key: string]: string; }; id: string; room: string | null; roomCreatorId: string | null; signalData: SimplePeer.SignalData; connections: Map; peerConnection: Instance; commands: Map; model: ReactSimplePeerModel; joinRequests: Stack; clientOffers: Stack<[ClientOffer, string, boolean, string]>; emitJoinRequest: () => void; emitOfferResponse: (joinRequest: JoinRequest, signalData: SignalData) => void; emitInitiatorOffers: (offers: { [key: string]: SignalData; }, id: string, room: string) => void; emitJoinAck: (signalData: SignalData, room: string, receivedId: string, id: string) => void; } export declare const ReactSimplePeerStatusState: BehaviorSubject; export declare const ReactSimplePeerState: BehaviorSubject; export declare function setModel(model: ReactSimplePeerModel): void; export declare function setRoom(room: string): void; export declare function getId(): string;