import { Type } from './metadata/type'; import { Metadata } from './metadata/metadata'; import { Condition } from './interfaces/condition'; import { OrderBy } from './interfaces/orderby'; import { ClientOptions, Client } from './client'; import { WhereCondition } from './interfaces/where-condition'; export declare class Redisk { private readonly metadata; private readonly client; constructor(metadata: Metadata, client: Client); static init(options: ClientOptions): Redisk; close(): Promise; getClient(): Client; save(entity: T): Promise; count(entityType: Type): Promise; list(entityType: Type, where?: { conditions: WhereCondition[]; type: 'AND' | 'OR'; }, limit?: number, offset?: number, orderBy?: OrderBy): Promise; search(entityType: Type, condition: Condition, limit: number): Promise; searchIds(entityType: Type, condition: Condition, limit: number): Promise; listIds(entityType: Type, where?: { conditions: WhereCondition[]; type: 'AND' | 'OR'; }, limit?: number, offset?: number, orderBy?: OrderBy): Promise; delete(entityType: Type, id: string): Promise; getOne(entityType: Type, value: any, key?: string): Promise; private convertPropertyTypeToPrimitive; private convertStringToPropertyType; private dropUniqueKeys; private dropIndexes; private dropIndex; private dropSearchables; private getIndexNumberKeyName; private getIndexKeyName; private getIndexPrefix; private getListKeyName; private getUniqueKeyName; private getSearchableKeyName; private getSearchableValuePrefix; }