/******************************************************************************************
 * Repository: https://github.com/kolserdav/werift-sfu-react.git
 * File name: db.ts
 * Author: Sergey Kolmiller
 * Email: <uyem.ru@gmail.com>
 * License: MIT
 * License text: See in LICENSE file
 * Copyright: kolserdav, All rights reserved (c)
 * Create Date: Wed Aug 24 2022 14:14:09 GMT+0700 (Krasnoyarsk Standard Time)
 ******************************************************************************************/
import { PrismaClient, Prisma } from '@prisma/client';
import { DBInterface } from '../types/interfaces';
import Auth from './auth';
declare class DB extends Auth implements DBInterface {
    prisma: PrismaClient<Prisma.PrismaClientOptions, never, Prisma.RejectOnNotFound | Prisma.RejectPerOperation | undefined>;
    constructor({ prisma }: {
        prisma: DB['prisma'];
    });
    roomFindFirst: DBInterface['roomFindFirst'];
    roomUpdate: DBInterface['roomUpdate'];
    roomCreate: DBInterface['roomCreate'];
    unitCreate: DBInterface['unitCreate'];
    unitUpdate: DBInterface['unitUpdate'];
    unitFindFirst: DBInterface['unitFindFirst'];
    messageUpdate: DBInterface['messageUpdate'];
    messageCreate: DBInterface['messageCreate'];
    quoteCreate: DBInterface['quoteCreate'];
    messageDelete: DBInterface['messageDelete'];
    messageFindMany: DBInterface['messageFindMany'];
    videoFindFirst: DBInterface['videoFindFirst'];
    videoUpdate: DBInterface['videoUpdate'];
    videoCreate: DBInterface['videoCreate'];
    videoDelete: DBInterface['videoDelete'];
    adminsFindFirst: DBInterface['adminsFindFirst'];
    adminsCreate: DBInterface['adminsCreate'];
    adminsUpdate: DBInterface['adminsUpdate'];
    adminsDelete: DBInterface['adminsDelete'];
    videoFindMany: DBInterface['videoFindMany'];
    deleteGuest({ userId, roomId }: {
        userId: string | number;
        roomId: string | number;
    }): Promise<unknown>;
    changeUserOnline({ userId, online }: {
        userId: string | number;
        online: boolean;
    }): void;
    changeRoomArchive({ roomId, archive }: {
        roomId: string;
        archive: boolean;
    }): Promise<void>;
    videoUpdateTime: ({ roomId, time }: {
        roomId: string | number;
        time: number;
    }) => Promise<void>;
    saveGuest({ userId, roomId }: {
        userId: string;
        roomId: string;
    }): void;
}
export default DB;
//# sourceMappingURL=db.d.ts.map