import Repository from '../repository';
export default class MemoryRepository<T> implements Repository<T> {
    Type: {
        new (...args: any[]): T;
    };
    private docs;
    constructor(type: {
        new (...args: any[]): T;
    });
    count(): Promise<number>;
    find(conditions: Object): Promise<T[]>;
    paginate(conditions: Object, sortOptions: any, page: any, perPage: any): Promise<T[]>;
    private findNow(conditions);
    findOne(conditions: any): Promise<T>;
    findById(id: string): Promise<T>;
    insert(data: any): Promise<T>;
    insertMany(list: T[]): Promise<T[]>;
    update(query: any, newData: any): Promise<T>;
    private updateFields(target, data);
    findLast(sortField: string, limit: number): Promise<T[]>;
    findLastByQuery(query: any, sortField: string, limit: number): Promise<T[]>;
    private query(obj, query);
    deleteMany(query: any): Promise<boolean>;
    deleteOne(query: any): Promise<boolean>;
}
