import { Type } from '@nestjs/common';
import { types } from 'cassandra-driver';
import { Observable } from 'rxjs';
import { BaseModelStatic, DeleteOptions, FindQuery, FindQueryOptions, SaveOptions, UpdateOptions } from './interfaces/orm.interface';
export declare class BaseRepository<Entity> extends Function {
    model: BaseModelStatic<Entity>;
    target: Type<Entity>;
    create(entity: Entity): Entity;
    save(entity: Entity, options?: SaveOptions): Observable<Entity | Error>;
    bulkSave(entities: Entity[], options?: SaveOptions): Observable<Entity[] | Error>;
    find(query: FindQuery<Entity>, options?: FindQueryOptions<Entity>): Observable<Entity[] | Error>;
    findOne(query: FindQuery<Entity>, options?: FindQueryOptions<Entity>): Observable<Entity | Error>;
    update(query: FindQuery<Entity>, updateValue: Partial<Entity>, options?: UpdateOptions<Entity>): Observable<types.ResultSet | Error>;
    delete(query: FindQuery<Entity>, options?: DeleteOptions): Observable<types.ResultSet | Error>;
}
