import { Model, ModelCtor } from 'sequelize-typescript';
import { FindOptions } from 'sequelize';
import { ExtendableDto } from '../dto';
interface IArgs<T extends Model> extends FindOptions<T> {
    exportTo: typeof ExtendableDto;
    user?: any;
    paging?: {
        page: number;
        limit: number;
    };
}
declare type FindAllResponse<T> = T[];
declare type FindOneResponse<T> = T | null;
export default class Repository {
    private getOptionsWithArgs;
    private findAll;
    private findOne;
    repository: {
        findAll: <T extends Model<any, any>>(model: ModelCtor<T>, args: IArgs<T>) => Promise<FindAllResponse<T>>;
        findOne: <T_1 extends Model<any, any>>(model: ModelCtor<T_1>, args: IArgs<T_1>) => Promise<FindOneResponse<T_1>>;
    };
}
export {};
//# sourceMappingURL=index.d.ts.map