export interface IConnectedResult { connected : boolean ; error ? : any ; } export type IInsertManyResponse = Promise < { insertedCount : number ; insertedIds : Array < string > ; } > ; export interface IAdapter { checkConnection ( ) : Promise < IConnectedResult > ; close ( ) : void ; count ( collection , query ) : Promise < number > ; create ( collection , data ) : Promise < { [ key ] : any ; } > ; delete ( collection , id ) : Promise < number > ; deleteMany ( collection , query ) : Promise < number > ; drop ( collection ) : Promise < number > ; fetch ( opts ) : Promise < { [ key ] : any ; } [ ] > ; generateId ( ) : any ; insertMany ( collection , docs ) : IInsertManyResponse ; update ( collection , id , data ) : Promise < number > ; updateMany ( collection , query , data ) : Promise < number > ; }