declare type Callback = (error: Error, value?: any) => void; export interface BaseModel { new (value?: Partial): BaseModelStatic & T; findOne(query: FindQuery, options: { return_query: true; } & FindQueryOptionsStatic): string; findOne(query: FindQuery, callback: Callback): void; findOne(query: FindQuery, options: FindQueryOptionsStatic, callback: Callback): void; findOneAsync(query: FindQuery, options: FindQueryOptionsStatic & { raw: true; }): Promise; findOneAsync(query: FindQuery, options?: FindQueryOptionsStatic): Promise>; find(query: FindQuery, options?: { return_query: true; } & FindQueryOptionsStatic): string; find(query: FindQuery, callback: Callback): void; find(query: FindQuery, options: FindQueryOptionsStatic, callback: Callback): void; findAsync(query: FindQuery, options: FindQueryOptionsStatic & { raw: true; }): Promise; findAsync(query: FindQuery, options?: FindQueryOptionsStatic): Promise[]>; update(query: FindQuery, updateValue: Partial, options: { return_query: true; } & UpdateOptionsStatic): string; update(query: FindQuery, updateValue: Partial, callback?: Callback): void; update(query: FindQuery, updateValue: Partial, options: UpdateOptionsStatic, callback?: Callback): void; updateAsync(query: FindQuery, updateValue: Partial, options?: UpdateOptionsStatic): Promise; delete(query: FindQuery, options: { return_query: true; } & DeleteOptionsStatic): string; delete(query: FindQuery, callback?: Callback): void; delete(query: FindQuery, options?: DeleteOptionsStatic, callback?: Callback): void; deleteAsync(query: FindQuery, options?: DeleteOptionsStatic): Promise; truncateAsync(): Promise; stream(query: FindQuery, options: FindQueryOptionsStatic, reader: (reader: any) => void, done: (err: Error) => void): void; eachRow(query: FindQuery, options: FindQueryOptionsStatic, onRow: (n: any, row: any) => void, done: (err: Error, result: any) => void): void; execute_query(query: string, params: any[], callback?: Callback): void; execute_batch(queries: { query: string; params: any[]; }[], callback?: (err: Error) => void): void; close(callback?: (err: Error) => void): void; syncDB(callback?: (err: Error, result: boolean) => void): any; get_keyspace_name(): string; get_table_name(): string; get_cql_client(): any; search(options: EsSearchOptionsStatic, callback?: Callback): void; get_es_client(): any; createVertex(entity: Partial, callback?: Callback): void; getVertex(id: any, callback?: Callback): void; updateVertex(id: any, updateEntity: Partial, callback?: Callback): void; deleteVertex(id: any, callback?: (err: Error) => void): void; createEdge(relation: string, followerVertexId: any, followeeVertexId: any, callback?: Callback): void; createEdge(relation: string, followerVertexId: any, followeeVertexId: any, model: any, callback?: Callback): void; getEdge(id: any, callback?: Callback): void; updateEdge(id: any, updateModel: any, callback?: Callback): void; deleteEdge(id: any, callback?: (err: Error) => void): void; graphQuery(query: string, entityQuery: Partial, callback?: Callback): void; get_gremlin_client(): GremlinClientStatic; [index: string]: any; } export interface BaseModelStatic { save(options: { return_query: boolean; } & SaveOptionsStatic): string; save(callback?: Callback): void; save(options: SaveOptionsStatic, callback?: Callback): void; saveAsync(options?: SaveOptionsStatic): Promise; delete(options: { return_query: boolean; } & DeleteOptionsStatic): string; delete(callback?: Callback): void; delete(options: DeleteOptionsStatic, callback?: Callback): void; deleteAsync(options?: DeleteOptionsStatic): Promise; isModify(key?: keyof T): boolean; toJSON(): T; [index: string]: any; } export interface FindQueryOptionsStatic { select?: Array; materialized_view?: string; allow_filtering?: boolean; distinct?: boolean; autoPage?: boolean; fetchSize?: number; pageState?: string; raw?: boolean; prepare?: boolean; [index: string]: any; } export declare type FindQuery = { [P in keyof T]?: T[P] | FindSubQueryStatic; } & FindQueryStatic; export interface FindQueryStatic { $orderby?: { $asc?: keyof T | Array; $desc?: keyof T | Array; }; $limit?: number; } export interface FindSubQueryStatic { $token?: any; $in?: string[]; $like?: string; $eq?: any; $ne?: any; $isnt?: any; $gt?: any; $lt?: any; $gte?: any; $lte?: any; $contains?: string; $contains_key?: string[]; $solr_query?: string; } export interface SaveOptionsStatic { ttl?: number; if_not_exist?: boolean; } export interface UpdateOptionsStatic { ttl?: number; if_exists?: boolean; conditions?: { [P in keyof T]?: T[P]; }; } export interface DeleteOptionsStatic { if_exists?: boolean; } export interface EsSearchOptionsStatic { q?: string; from?: number; size?: number; sort?: string[]; body?: { query?: any; [index: string]: any; }; [index: string]: any; } interface GremlinClientStatic { execute(query: string, entityQuery: Partial, callback?: Callback): void; [index: string]: any; } export {};