@rtcio/react
Version:
A wrapper around the @rtcio/core library for React integration
13 lines • 779 B
TypeScript
import { P2PInternalEvents, PeerId, VoidMethods } from "@rtcio/core";
export type WithPeerId<TEvents extends VoidMethods<TEvents> = Record<string, never>> = {
[TKey in keyof TEvents]: (peerId: PeerId, ...params: Parameters<TEvents[TKey]>) => void;
};
/**
* This function will create a typed usePeerListener hook
* which will allow strongly typed event subscriptions
*/
export declare function createUsePeerListener<TEvents extends VoidMethods<TEvents> = Record<string, never>>(): {
<TKey extends keyof P2PInternalEvents>(event: TKey, callback: WithPeerId<P2PInternalEvents>[TKey], onlyPeerId?: PeerId): void;
<TKey extends keyof TEvents>(event: TKey, callback: WithPeerId<TEvents>[TKey], onlyPeerId?: PeerId): void;
};
//# sourceMappingURL=usePeerListener.d.ts.map