export type ObjectValues = T[keyof T]; export const C2SRequestTypes = { HTTPRequest: 0, WSOpen: 1, WSClose: 2, WSSendText: 3, WSSendBinary: 4, } as const; export type C2SRequestType = ObjectValues; export const S2CRequestTypes = { HTTPResponse: 0, WSOpen: 1, WSDataText: 2, WSDataBinary: 3, } as const; export type S2CRequestType = ObjectValues; export type ProtoBareHeaders = Record; export type HTTPRequestPayload = { method: string; requestHeaders: ProtoBareHeaders; body: string | null; remote: URL; cache: string | undefined; duplex: string | undefined; }; export type HTTPResponsePayload = { status: number; statusText: string; headers: ProtoBareHeaders; };