@rtcio/react
Version:
A wrapper around the @rtcio/core library for React integration
22 lines • 1.72 kB
TypeScript
import type { VoidMethods } from "@rtcio/core";
import { useSignalPeers } from "./useSignalPeers";
import { useFileSender } from "./useFileSender";
export declare function createTypedHooks<TEvents extends VoidMethods<TEvents> = Record<string, never>>(): {
usePeerListener: {
<TKey extends keyof import("@rtcio/core").P2PInternalEvents>(event: TKey, callback: import("./usePeerListener").WithPeerId<import("@rtcio/core").P2PInternalEvents>[TKey], onlyPeerId?: import("@rtcio/signaling").PeerId): void;
<TKey extends keyof TEvents>(event: TKey, callback: import("./usePeerListener").WithPeerId<TEvents>[TKey], onlyPeerId?: import("@rtcio/signaling").PeerId): void;
};
useRtcListener: <TKey extends keyof import("@rtcio/core").RTCInternalEvents<TEvents_1>>(event: TKey, callback: import("@rtcio/core").RTCInternalEvents<TEvents>[TKey]) => void;
usePeerEmitter: () => {
emitTo: <TKey extends keyof TEvents>(toPeer: import("@rtcio/signaling").PeerId, eventName: TKey, ...args: Parameters<TEvents[TKey]>) => Promise<import("@dbidwell94/ts-utils").Result<void>>;
emit: <TKey extends keyof TEvents>(eventName: TKey, ...args: Parameters<TEvents[TKey]>) => Promise<import("@dbidwell94/ts-utils").Result<void, import("./usePeerEmitter").MultiPeerEmitError<TEvents>>>;
};
usePeers: <TEvents_1>() => Record<string, import("@rtcio/core").P2PConnection<TEvents_1>>;
useRtc: () => {
rtc: import("@dbidwell94/ts-utils").Option<import("@rtcio/core").RTC<TEvents>>;
myId: import("@dbidwell94/ts-utils").Option<string>;
};
useSignalPeers: typeof useSignalPeers;
useFileSender: typeof useFileSender;
};
//# sourceMappingURL=createTypedHooks.d.ts.map