import { Model, Document } from 'mongoose';
import { IData, IErrorObject } from '../../interface';
export declare class MongoDbDao<T extends Document> implements IData<T> {
    defaultModel: typeof Model;
    private logError;
    save(data: Document | any): Promise<any>;
    saveMany(data: Array<Document>): Promise<any>;
    update(params: any, data: Document | any): Promise<any>;
    updateMany(params: any, data: Document | any): Promise<any>;
    select(payloads: {
        params?: object;
        excludes?: string;
        page?: number;
        pageSize?: number;
        sort?: string;
        orderBy?: string;
    }): Promise<any | IErrorObject>;
    selectOne(params: object, fields?: string): Promise<any>;
    selectLatest(status?: string): Promise<any>;
    selectLatestWithParams(params?: object, excludeFields?: string): Promise<any>;
    count(params: object): Promise<any>;
    exist(params: object): Promise<any>;
    aggregate(params: Array<any>): Promise<any>;
    selectHug(params?: any): Promise<any>;
    remove(params: any): Promise<any>;
    removeMany(params: any): Promise<any>;
}
