import { MessagingProtocols } from '.'; import { ClassicStrategy } from './classic/strategy'; import CombinedStrategy from './combined/strategy'; import { RTCStrategy } from './rtc/strategy'; import { ChannelStrategy } from './strategy'; type StrategyMap = { rtc: RTCStrategy; classic: ClassicStrategy; }; export type StrategyByProtocol = StrategyMap[T]; export type PayloadTypeByStrategy> = T extends ChannelStrategy ? U : never; export type AnyStrategy = ClassicStrategy | RTCStrategy | CombinedStrategy, PayloadTypeByStrategy>; export {};