UNPKG

uyem

Version:
543 lines (542 loc) 25.3 kB
import * as werift from 'werift'; import { Message, Prisma, Room, Unit, Video, Quote, Admins } from '@prisma/client'; export declare const RECORD_VIDEO_NAME = "record"; export declare type LocaleValue = 'en' | 'ru'; export interface UserItem { name: string; connId: string; locale: LocaleValue; } export interface RoomUser { id: string | number; name: string; isOwner: boolean; } export interface UserList extends RoomUser { muted: boolean; adminMuted: boolean; } export declare type RoomList = Record<string, (string | number)[]>; export declare type Banneds = Record<string, RoomUser[]>; export declare type ArgumentTypes<F extends Function> = F extends (args: infer A) => any ? A : never; export declare type GetManyResult<T> = { result: T[]; skip: number; count: number; take: number; }; export declare type MessageFull = Message & { Unit: { id: string; name: string; }; Quote: { MessageQuote: (Message & { Unit: { id: string; name: string; }; }) | null; } | null; }; export declare type QuoteFull = Quote; export declare enum ErrorCode { initial = "initial", roomIsInactive = "roomIsInactive", errorSendMessage = "errorSendMessage", youAreBanned = "youAreBanned", videoRecordStop = "videoRecordStop", forbidden = "forbidden", notAuthorised = "notAuthorised", duplicateTab = "duplicateTab", errorDeleteMessage = "errorDeleteMessage", errorSetAdmin = "errorSetAdmin", errorToBan = "errorToBan", errorToMute = "errorToMute", errorToOffCamera = "errorToOffCamera" } export declare enum LogLevel { log = 0, info = 1, warn = 2, error = 3 } export declare enum RecordCommand { start = "start", stop = "stop" } export declare enum MessageType { GET_USER_ID = "GET_USER_ID", SET_USER_ID = "SET_USER_ID", GET_LOGIN = "GET_LOGIN", TOKEN = "TOKEN", OFFER = "OFFER", CANDIDATE = "CANDIDATE", ANSWER = "ANSWER", GET_ROOM = "GET_ROOM", SET_ROOM = "SET_ROOM", GET_CHAT_UNIT = "GET_CHAT_UNIT", GET_SETTINGS_UNIT = "GET_SETTINGS_UNIT", SET_ERROR = "SET_ERROR", GET_ROOM_GUESTS = "GET_ROOM_GUESTS", SET_ROOM_GUESTS = "SET_ROOM_GUESTS", SET_CHANGE_UNIT = "SET_CHANGE_UNIT", GET_MUTE = "GET_MUTE", SET_MUTE = "SET_MUTE", GET_NEED_RECONNECT = "GET_NEED_RECONNECT", GET_CLOSE_PEER_CONNECTION = "GET_CLOSE_PEER_CONNECTION", SET_CLOSE_PEER_CONNECTION = "SET_CLOSE_PEER_CONNECTION", GET_ROOM_MESSAGE = "GET_ROOM_MESSAGE", SET_ROOM_MESSAGE = "SET_ROOM_MESSAGE", SET_CHAT_UNIT = "SET_CHAT_UNIT", SET_SETTINGS_UNIT = "SET_SETTINGS_UNIT", GET_CHAT_MESSAGES = "GET_CHAT_MESSAGES", SET_CHAT_MESSAGES = "SET_CHAT_MESSAGES", GET_EDIT_MESSAGE = "GET_EDIT_MESSAGE", SET_EDIT_MESSAGE = "SET_EDIT_MESSAGE", GET_CREATE_MESSAGE = "GET_CREATE_MESSAGE", SET_CREATE_MESSAGE = "SET_CREATE_MESSAGE", GET_CREATE_QUOTE = "GET_CREATE_QUOTE", SET_CREATE_QUOTE = "SET_CREATE_QUOTE", GET_DELETE_MESSAGE = "GET_DELETE_MESSAGE", SET_DELETE_MESSAGE = "SET_DELETE_MESSAGE", GET_LOCALE = "GET_LOCALE", SET_LOCALE = "SET_LOCALE", GET_TO_MUTE = "GET_TO_MUTE", GET_TO_BAN = "GET_TO_BAN", GET_TO_UNMUTE = "GET_TO_UNMUTE", GET_TO_UNBAN = "GET_TO_UNBAN", SET_BAN_LIST = "SET_BAN_LIST", SET_MUTE_LIST = "SET_MUTE_LIST", GET_RECORD = "GET_RECORD", SET_RECORDING = "SET_RECORDING", GET_VIDEO_FIND_MANY = "GET_VIDEO_FIND_MANY", SET_VIDEO_FIND_MANY = "SET_VIDEO_FIND_MANY", GET_VIDEO_FIND_FIRST = "GET_VIDEO_FIND_FIRST", SET_VIDEO_FIND_FIRST = "SET_VIDEO_FIND_FIRST", GET_ASK_FLOOR = "GET_ASK_FLOOR", SET_ASK_FLOOR = "SET_ASK_FLOOR", GET_MUTE_FOR_ALL = "GET_MUTE_FOR_ALL", SET_MUTE_FOR_ALL = "SET_MUTE_FOR_ALL", GET_BLOCK_CHAT = "GET_BLOCK_CHAT", SET_BLOCK_CHAT = "SET_BLOCK_CHAT", GET_VIDEO_TRACK = "GET_VIDEO_TRACK", SET_VIDEO_TRACK = "SET_VIDEO_TRACK", GET_TO_ADMIN = "GET_TO_ADMIN", SET_TO_ADMIN = "SET_TO_ADMIN" } export declare namespace Locale { const DEFAULT: LocaleValue; const SELECTOR: { value: LocaleValue; name: string; impl: boolean; }[]; interface Server { error: string; roomInactive: string; errorSendMessage: string; youAreBanned: string; videoRecordStop: string; forbidden: string; notAuthorised: string; duplicateTab: string; connected: string; ownerCanNotBeDeleted: string; ownerCanNotBeBanned: string; } interface Client { shareScreen: string; changeTheme: string; send: string; quote: string; edit: string; delete: string; errorGetCamera: string; errorGetDisplay: string; erorGetSound: string; edited: string; noMessages: string; loading: string; getDisplayCancelled: string; mute: string; unmute: string; ban: string; unban: string; isAdminOfRoom: string; youAreAdminOfRoom: string; banneds: string; recordVideo: string; videoRecording: string; recordVideoStop: string; linkCopied: string; generalSettings: string; recordActions: string; changeLang: string; darkTheme: string; startRecord: string; recording: string; stopRecord: string; willBeReconnect: string; guests: string; micOn: string; micOff: string; cameraOn: string; cameraOff: string; copyRoomLink: string; editMessage: string; messageDeleted: string; askForTheFloor: string; requestedTheFloor: string; shortAdmin: string; muteAll: string; muteForNew: string; blockChat: string; unblockChat: string; chatBlocked: string; numberOfGuests: string; noActiveVideoStreams: string; videoDeviceRequired: string; audioDeviceRequired: string; setAsAdmin: string; deleteFromAdmins: string; } } export declare type Command = 'add' | 'delete'; export declare type LocaleServer = { server: Locale.Server; client: Locale.Client; }; export declare const LocaleDefault: LocaleValue; export declare const LocaleSelector: { value: LocaleValue; name: string; impl: boolean; }[]; export declare namespace DataTypes { namespace MessageTypes { type GetMute = { muted: boolean; roomId: string | number; }; type GetNeedReconnect = { userId: string | number; }; type GetRoomGuests = { roomId: number | string; }; type GetChatUnit = { userId: string | number; locale: LocaleValue; }; type GetSettingsUnit = { userId: string | number; locale: LocaleValue; }; type GetLocale = { locale: LocaleValue; }; type GetClosePeerConnection = { roomId: number | string; target: number | string; }; type GetUserId = { isRoom?: boolean; userName: string; locale: LocaleValue; }; type GetMuteForAll = { value: boolean; }; type SetChangeRoomUnit = { target: number | string; name: string; eventName: 'delete' | 'add' | 'added'; roomLength: number; isOwner: boolean; muteds: (string | number)[]; banneds: RoomUser[]; asked: RoomList[any]; adminMuteds: (string | number)[]; }; type SetUserId = { name: string; }; type GetRoom = { userId: number | string; mimeType: string; isPublic: boolean; }; type GetToMute = { target: string | number; }; type GetToBan = { target: string | number; userId: string | number; }; type GetAskFloor = { userId: string | number; command: Command; }; type GetVideoTrack = { target: string | number; userId: string | number; command: Command; }; type GetVideoFindMany = { userId: string | number; token: string; args: Prisma.VideoFindManyArgs; }; type GetToAdmin = { target: string | number; userId: string | number; command: Command; }; type GetVideoFindFirst = { userId: string | number; token: string; args: Prisma.VideoFindFirstArgs; }; type GetToUnMute = { target: string | number; }; type GetToUnBan = { target: string | number; userId: string | number; }; type SetRoomGuests = { roomUsers: RoomUser[]; muteds: (string | number)[]; banneds: RoomUser[]; adminMuteds: (string | number)[]; asked: (string | number)[]; }; type GetChatMessages = { args: Prisma.MessageFindManyArgs; userId: string | number; }; type GetBlockChat = { command: Command; target: string | number; }; type GetEditMessage = { args: Prisma.MessageUpdateArgs; userId: string | number; }; type SetAskFloor = { roomId: string | number; userId: string | number; asked: (string | number)[]; }; type GetCreateMessage = { args: Prisma.MessageCreateArgs; userId: string | number; }; type SetVideoTrack = { offVideo: (string | number)[]; command: Command; target: string | number; userId: string | number; }; type GetCreateQuote = { args: Prisma.QuoteCreateArgs; userId: string | number; }; type GetRecord = { command: keyof typeof RecordCommand; userId: string | number; }; type GetDeleteMessage = { args: Prisma.MessageDeleteArgs; userId: string | number; }; type SetRoom = { isOwner: boolean; asked: (string | number)[]; }; type SetVideoFindMany = { videos: GetManyResult<Video>; }; type SetMuteForAll = { value: boolean; }; type SetVideoFindFirst = { video: Video | null; }; type SetToAdmin = { target: string | number; command: Command; }; type SetBanList = { banneds: Banneds[any]; }; type SetBlockChat = { target: string | number; blocked: (string | number)[]; }; type SetMuteList = { muteds: RoomList[any]; adminMuteds: RoomList[any]; askeds: RoomList[any]; }; type SetError = { message: string; type: keyof typeof LogLevel; code: keyof typeof ErrorCode; }; type SetMute = { muteds: (string | number)[]; adminMuteds: (string | number)[]; }; type SetLocale = { locale: LocaleServer['client']; }; type GetRoomMessage = { userId: string | number; message: string; }; type SetRecording = { command: keyof typeof RecordCommand; time: number; }; type SetRoomMessage = MessageFull; type SetEditMessage = MessageFull; type SetCreateMessage = MessageFull; type SetCreateQuote = QuoteFull; type SetDeleteMessage = MessageFull; type SetChatMessages = GetManyResult<MessageFull>; type SetClosePeerConnection = { roomId: number | string; target: number | string; }; type Offer = { sdp: RTCSessionDescriptionInit; userId: number | string; target: number | string; mimeType: string; roomId: number | string; }; type Candidate = { candidate: RTCIceCandidate; userId: number | string; target: number | string; roomId: number | string; }; type Answer = { sdp: RTCSessionDescriptionInit; userId: number | string; target: number | string; }; type SetChatUnit = undefined; type SetSettingsUnit = undefined; type ConnectionId<T> = T extends infer R ? R : never; } type ArgsSubset<T> = T extends MessageType.OFFER ? DataTypes.MessageTypes.Offer : T extends MessageType.ANSWER ? DataTypes.MessageTypes.Answer : T extends MessageType.CANDIDATE ? DataTypes.MessageTypes.Candidate : T extends MessageType.GET_MUTE ? DataTypes.MessageTypes.GetMute : T extends MessageType.GET_NEED_RECONNECT ? DataTypes.MessageTypes.GetNeedReconnect : T extends MessageType.GET_CLOSE_PEER_CONNECTION ? DataTypes.MessageTypes.GetClosePeerConnection : T extends MessageType.GET_USER_ID ? DataTypes.MessageTypes.GetUserId : T extends MessageType.SET_USER_ID ? DataTypes.MessageTypes.SetUserId : T extends MessageType.GET_CHAT_UNIT ? DataTypes.MessageTypes.GetChatUnit : T extends MessageType.GET_SETTINGS_UNIT ? DataTypes.MessageTypes.GetSettingsUnit : T extends MessageType.GET_ROOM ? DataTypes.MessageTypes.GetRoom : T extends MessageType.GET_TO_MUTE ? DataTypes.MessageTypes.GetToMute : T extends MessageType.GET_TO_BAN ? DataTypes.MessageTypes.GetToBan : T extends MessageType.GET_TO_UNMUTE ? DataTypes.MessageTypes.GetToUnMute : T extends MessageType.GET_TO_ADMIN ? DataTypes.MessageTypes.GetToAdmin : T extends MessageType.GET_MUTE_FOR_ALL ? DataTypes.MessageTypes.GetMuteForAll : T extends MessageType.GET_TO_UNBAN ? DataTypes.MessageTypes.GetToUnBan : T extends MessageType.GET_BLOCK_CHAT ? DataTypes.MessageTypes.GetBlockChat : T extends MessageType.GET_ASK_FLOOR ? DataTypes.MessageTypes.GetAskFloor : T extends MessageType.GET_VIDEO_TRACK ? DataTypes.MessageTypes.GetVideoTrack : T extends MessageType.GET_RECORD ? DataTypes.MessageTypes.GetRecord : T extends MessageType.SET_ROOM ? DataTypes.MessageTypes.SetRoom : T extends MessageType.GET_LOCALE ? DataTypes.MessageTypes.GetLocale : T extends MessageType.GET_ROOM_GUESTS ? DataTypes.MessageTypes.GetRoomGuests : T extends MessageType.GET_CHAT_MESSAGES ? DataTypes.MessageTypes.GetChatMessages : T extends MessageType.SET_ROOM_GUESTS ? DataTypes.MessageTypes.SetRoomGuests : T extends MessageType.SET_CHANGE_UNIT ? DataTypes.MessageTypes.SetChangeRoomUnit : T extends MessageType.SET_MUTE ? DataTypes.MessageTypes.SetMute : T extends MessageType.SET_CHAT_UNIT ? DataTypes.MessageTypes.SetChatUnit : T extends MessageType.SET_ASK_FLOOR ? DataTypes.MessageTypes.SetAskFloor : T extends MessageType.SET_SETTINGS_UNIT ? DataTypes.MessageTypes.SetSettingsUnit : T extends MessageType.SET_BLOCK_CHAT ? DataTypes.MessageTypes.SetBlockChat : T extends MessageType.SET_CHAT_MESSAGES ? DataTypes.MessageTypes.SetChatMessages : T extends MessageType.GET_ROOM_MESSAGE ? DataTypes.MessageTypes.GetRoomMessage : T extends MessageType.GET_EDIT_MESSAGE ? DataTypes.MessageTypes.GetEditMessage : T extends MessageType.GET_CREATE_MESSAGE ? DataTypes.MessageTypes.GetCreateMessage : T extends MessageType.GET_CREATE_QUOTE ? DataTypes.MessageTypes.GetCreateQuote : T extends MessageType.SET_VIDEO_TRACK ? DataTypes.MessageTypes.SetVideoTrack : T extends MessageType.SET_EDIT_MESSAGE ? DataTypes.MessageTypes.SetEditMessage : T extends MessageType.SET_CREATE_MESSAGE ? DataTypes.MessageTypes.SetCreateMessage : T extends MessageType.SET_CREATE_QUOTE ? DataTypes.MessageTypes.SetCreateQuote : T extends MessageType.GET_VIDEO_FIND_MANY ? DataTypes.MessageTypes.GetVideoFindMany : T extends MessageType.GET_VIDEO_FIND_FIRST ? DataTypes.MessageTypes.GetVideoFindFirst : T extends MessageType.SET_VIDEO_FIND_MANY ? DataTypes.MessageTypes.SetVideoFindMany : T extends MessageType.SET_VIDEO_FIND_FIRST ? DataTypes.MessageTypes.SetVideoFindFirst : T extends MessageType.GET_DELETE_MESSAGE ? DataTypes.MessageTypes.GetDeleteMessage : T extends MessageType.SET_DELETE_MESSAGE ? DataTypes.MessageTypes.SetDeleteMessage : T extends MessageType.SET_ROOM_MESSAGE ? DataTypes.MessageTypes.SetRoomMessage : T extends MessageType.SET_BAN_LIST ? DataTypes.MessageTypes.SetBanList : T extends MessageType.SET_MUTE_FOR_ALL ? DataTypes.MessageTypes.SetMuteForAll : T extends MessageType.SET_MUTE_LIST ? DataTypes.MessageTypes.SetMuteList : T extends MessageType.SET_TO_ADMIN ? DataTypes.MessageTypes.SetToAdmin : T extends MessageType.SET_CLOSE_PEER_CONNECTION ? DataTypes.MessageTypes.SetClosePeerConnection : T extends MessageType.SET_LOCALE ? DataTypes.MessageTypes.SetLocale : T extends MessageType.SET_RECORDING ? DataTypes.MessageTypes.SetRecording : T extends MessageType.SET_ERROR ? DataTypes.MessageTypes.SetError : never; } export declare type ArgsSubset<T> = DataTypes.ArgsSubset<T>; export declare namespace Signaling { interface SendMessageArgs<T> { type: T; id: number | string; data: DataTypes.ArgsSubset<T>; connId: DataTypes.MessageTypes.ConnectionId<string>; } abstract class WSInterface { abstract connection: any; readonly delimiter = "_"; abstract createConnection(args: any): any; abstract parseMessage(text: string): SendMessageArgs<any> | null; abstract getMessage<T extends keyof typeof MessageType>(type: T, message: SendMessageArgs<any>): SendMessageArgs<T>; abstract sendMessage: <T extends keyof typeof MessageType>(args: SendMessageArgs<T>, second?: boolean, cb?: () => void) => Promise<1 | 0>; } } export declare namespace Connection { type AddTracksProps = { roomId: number | string; connId: string; userId: number | string; target: number | string; locale: LocaleServer['client']; }; abstract class RTCInterface { abstract peerConnections: Record<string, RTCPeerConnection | undefined>; abstract peerConnectionsServer: Record<string, Record<string, werift.RTCPeerConnection | undefined>>; readonly delimiter = "_"; abstract createRTC(args: { connId: string; roomId: number | string; userId: number | string; target: string | number; iceServers?: RTCConfiguration['iceServers']; }): Record<number, RTCPeerConnection | undefined>; abstract createRTCServer(args: { connId: string; roomId: number | string; userId: number | string; target: string | number; mimeType: string; icePortRange?: [number, number]; }): void; abstract handleIceCandidate(args: { connId: string; roomId: number | string; userId: number | string; target: string | number; }): any; abstract getPeerId(...args: (number | string)[]): string; abstract closeVideoCall(args: { connId: string; roomId: number | string; userId: number | string; target: string | number; eventName: string; }): void; abstract onClosedCall(args: { connId: string; roomId: number | string; userId: number | string; target: string | number; command: keyof werift.RTCPeerConnection; }): void; abstract handleOfferMessage(msg: Signaling.SendMessageArgs<MessageType.OFFER>): void; abstract handleCandidateMessage(msg: Signaling.SendMessageArgs<MessageType.CANDIDATE>, cb?: (cand: RTCIceCandidate | null) => any): void; abstract handleVideoAnswerMsg(msg: Signaling.SendMessageArgs<MessageType.ANSWER>, cb?: (res: 1 | 0) => any): void; abstract addTracks(args: Omit<AddTracksProps, 'locale' | 'userId'> & { stream: MediaStream; }, cb: (e: 1 | 0) => void): void; abstract addTracksServer(args: Omit<AddTracksProps, 'locale'>, cb: (e: 1 | 0) => void): void; } } export declare namespace Data { abstract class DBInterface { abstract roomCreate<T extends Prisma.RoomCreateArgs>(args: Prisma.SelectSubset<T, Prisma.RoomCreateArgs>, _connection?: WebSocket): Promise<Prisma.CheckSelect<T, Room, Prisma.RoomGetPayload<T>> | null>; abstract roomFindFirst<T extends Prisma.RoomFindFirstArgs>(args: Prisma.SelectSubset<T, Prisma.RoomFindFirstArgs>, _connection?: WebSocket): Promise<Prisma.CheckSelect<T, Room, Prisma.RoomGetPayload<T>> | null>; abstract roomUpdate<T extends Prisma.RoomUpdateArgs>(args: Prisma.SelectSubset<T, Prisma.RoomUpdateArgs>, _connection?: WebSocket): Promise<Prisma.CheckSelect<T, Room, Prisma.RoomGetPayload<T>> | null>; abstract unitUpdate<T extends Prisma.UnitUpdateArgs>(args: Prisma.SelectSubset<T, Prisma.UnitUpdateArgs>, _connection?: WebSocket): Promise<Prisma.CheckSelect<T, Unit, Prisma.UnitGetPayload<T>> | null>; abstract unitCreate<T extends Prisma.UnitCreateArgs>(args: Prisma.SelectSubset<T, Prisma.UnitCreateArgs>, _connection?: WebSocket): Promise<Prisma.CheckSelect<T, Unit, Prisma.UnitGetPayload<T>> | null>; abstract unitFindFirst<T extends Prisma.UnitFindFirstArgs>(args: Prisma.SelectSubset<T, Prisma.UnitFindFirstArgs>, _connection?: WebSocket): Promise<Prisma.CheckSelect<T, Unit, Prisma.UnitGetPayload<T>> | null>; abstract messageUpdate<T extends Prisma.MessageUpdateArgs>(args: Prisma.SelectSubset<T, Prisma.MessageUpdateArgs>, _connection?: WebSocket): Promise<Prisma.CheckSelect<T, MessageFull, Prisma.MessageGetPayload<T>> | null>; abstract messageCreate<T extends Prisma.MessageCreateArgs>(args: Prisma.SelectSubset<T, Prisma.MessageCreateArgs>, _connection?: WebSocket): Promise<Prisma.CheckSelect<T, MessageFull, Prisma.MessageGetPayload<T>> | null>; abstract quoteCreate<T extends Prisma.QuoteCreateArgs>(args: Prisma.SelectSubset<T, Prisma.QuoteCreateArgs>, _connection?: WebSocket): Promise<Prisma.CheckSelect<T, QuoteFull, Prisma.QuoteGetPayload<T>> | null>; abstract messageDelete<T extends Prisma.MessageDeleteArgs>(args: Prisma.SelectSubset<T, Prisma.MessageDeleteArgs>, _connection?: WebSocket): Promise<Prisma.CheckSelect<T, MessageFull, Prisma.MessageGetPayload<T>> | null>; abstract messageFindMany<T extends Prisma.MessageFindManyArgs>(args: Prisma.SelectSubset<T, Prisma.MessageFindManyArgs>, _connection?: WebSocket): Promise<Prisma.CheckSelect<T, GetManyResult<MessageFull>, Prisma.MessageGetPayload<T>>>; abstract videoFindFirst<T extends Prisma.VideoFindFirstArgs>(args: Prisma.SelectSubset<T, Prisma.VideoFindFirstArgs>): Promise<Prisma.CheckSelect<T, Video, Prisma.VideoGetPayload<T>> | null>; abstract videoUpdate<T extends Prisma.VideoUpdateArgs>(args: Prisma.SelectSubset<T, Prisma.VideoUpdateArgs>): Promise<Prisma.CheckSelect<T, Video, Prisma.VideoGetPayload<T>> | null>; abstract videoCreate<T extends Prisma.VideoCreateArgs>(args: Prisma.SelectSubset<T, Prisma.VideoCreateArgs>): Promise<Prisma.CheckSelect<T, Video, Prisma.VideoGetPayload<T>> | null>; abstract videoDelete<T extends Prisma.VideoDeleteArgs>(args: Prisma.SelectSubset<T, Prisma.VideoDeleteArgs>): Promise<Prisma.CheckSelect<T, Video, Prisma.VideoGetPayload<T>> | null>; abstract videoFindMany<T extends Prisma.VideoFindManyArgs>(args: Prisma.SelectSubset<T, Prisma.VideoFindManyArgs>): Promise<Prisma.CheckSelect<T, GetManyResult<Video>, Prisma.VideoGetPayload<T>>>; abstract adminsFindFirst<T extends Prisma.AdminsFindFirstArgs>(args: Prisma.SelectSubset<T, Prisma.AdminsFindFirstArgs>): Promise<Prisma.CheckSelect<T, Admins, Prisma.AdminsGetPayload<T>> | null>; abstract adminsCreate<T extends Prisma.AdminsCreateArgs>(args: Prisma.SelectSubset<T, Prisma.AdminsCreateArgs>): Promise<Prisma.CheckSelect<T, Admins, Prisma.AdminsGetPayload<T>> | null>; abstract adminsUpdate<T extends Prisma.AdminsUpdateArgs>(args: Prisma.SelectSubset<T, Prisma.AdminsUpdateArgs>): Promise<Prisma.CheckSelect<T, Admins, Prisma.AdminsGetPayload<T>> | null>; abstract adminsDelete<T extends Prisma.AdminsDeleteArgs>(args: Prisma.SelectSubset<T, Prisma.AdminsDeleteArgs>): Promise<Prisma.CheckSelect<T, Admins, Prisma.AdminsGetPayload<T>> | null>; } } export declare namespace Handlers { type Awaited<T> = T extends PromiseLike<infer U> ? U : T; } export declare type SendMessageArgs<T> = Signaling.SendMessageArgs<T>; export declare type WSInterface = Signaling.WSInterface; export declare type RTCInterface = Connection.RTCInterface; export declare type DBInterface = Data.DBInterface; export declare type AddTracksProps = Connection.AddTracksProps;