import type { LoginServiceConfiguration } from '@rocket.chat/core-typings'; import type { Document } from 'mongodb'; import type { IBaseModel } from './IBaseModel'; import type { DocumentWithProjection, FindOptionsWithProjection } from '../types/DocumentWithProjection'; export interface ILoginServiceConfigurationModel extends IBaseModel { createOrUpdateService( serviceName: LoginServiceConfiguration['service'], serviceData: Partial, ): Promise; removeByService(serviceName: LoginServiceConfiguration['service']): Promise | null>; findOneByService

= FindOptionsWithProjection

>( serviceName: LoginServiceConfiguration['service'], options?: O, ): Promise | null>; }