import {types} from 'cassandra-driver'; import * as Cassandra from '@cyber-rom/express-cassandra'; import {ConnectionOptions} from './scylla-client-options.interface'; import {BaseModel} from './scylla.interface'; export interface Connection extends FunctionConstructor { uuid(): types.Uuid; uuidFromString(str: string): types.Uuid; uuidFromBuffer(buffer: Buffer): types.Uuid; timeuuid(): types.TimeUuid; timeuuidFromDate(date: Date): types.TimeUuid; timeuuidFromString(str: string): types.TimeUuid; timeuuidFromBuffer(buffer: Buffer): types.TimeUuid; maxTimeuuid(date: Date): types.TimeUuid; minTimeuuid(date: Date): types.TimeUuid; doBatchAsync(queries: string[]): Promise; loadSchema(schema: any, name?: string): BaseModel; instance: {[index: string]: BaseModel}; orm: any; closeAsync(): Promise; initAsync(): Promise; [index: string]: any; } export interface ScyllaStatic extends Object { new (options: Partial): Connection; createClient(options: ConnectionOptions): Connection; [index: string]: any; } export const Connection: ScyllaStatic = Cassandra;