/// <reference types="mongoose/types/document" />
/// <reference types="mongoose/types/types" />
/// <reference types="mongoose/types/aggregate" />
/// <reference types="mongoose/types/callback" />
/// <reference types="mongoose/types/collection" />
/// <reference types="mongoose/types/connection" />
/// <reference types="mongoose/types/cursor" />
/// <reference types="mongoose/types/document" />
/// <reference types="mongoose/types/error" />
/// <reference types="mongoose/types/expressions" />
/// <reference types="mongoose/types/helpers" />
/// <reference types="mongoose/types/middlewares" />
/// <reference types="mongoose/types/indexes" />
/// <reference types="mongoose/types/models" />
/// <reference types="mongoose/types/mongooseoptions" />
/// <reference types="mongoose/types/pipelinestage" />
/// <reference types="mongoose/types/populate" />
/// <reference types="mongoose/types/query" />
/// <reference types="mongoose/types/schemaoptions" />
/// <reference types="mongoose/types/schematypes" />
/// <reference types="mongoose/types/session" />
/// <reference types="mongoose/types/types" />
/// <reference types="mongoose/types/utility" />
/// <reference types="mongoose/types/validation" />
/// <reference types="mongoose/types/virtuals" />
/// <reference types="mongoose/types/inferschematype" />
import mongoose from 'mongoose';
import { ECollaterals } from '../enums/collaterals.enum';
import { IPaginatorOptions, IUploadedItems } from '../interfaces/collaterals.interface';
import { IBBCDateDoc, ICreateBBCDate } from '../models/BBCDate.model';
import { IBBCSheetDoc, IBBCSheetWithBBCDate } from '../models/BBCSheet.model';
import { IInventoryItem } from '../models/InventoryItem.model';
import { IReceivableItem } from '../models/ReceivableItem.model';
import { IAccountPayableItem } from '../models/AccountPayableItem.model';
import { GroupsService } from './groups.service';
import { UploadsService } from './uploads.service';
export declare class CollateralsService {
    private readonly _groupsService;
    private readonly _uploadsService;
    constructor(_groupsService: GroupsService, _uploadsService: UploadsService);
    findCollateralsByType(bbcDateId: string, collateralType: ECollaterals): Promise<any>;
    findCollaterals(collateralsId: string, group: boolean, paginatorOptions?: IPaginatorOptions): Promise<any>;
    countCollateralItems(bbcSheetId: string): Promise<any>;
    findCollateralSheets(bbcDateId: string, collateralType: ECollaterals): Promise<(mongoose.Document<unknown, {}, IBBCSheetDoc> & IBBCSheetDoc & {
        _id: mongoose.Types.ObjectId;
    })[]>;
    findCollateralSheetsById(collateralsId: string): Promise<IBBCSheetDoc>;
    findCollateralSheetByIdWithBBCDate(collateralsId: string): Promise<IBBCSheetWithBBCDate>;
    findAllCollaterals(borrowerId: string, collateralTypes: ECollaterals[]): Promise<IBBCDateDoc[]>;
    saveCollateralItems<T extends IInventoryItem | IReceivableItem | IAccountPayableItem>(uploadedItems: IUploadedItems<T>, collateralType: ECollaterals, shift?: number): Promise<any>;
    getCollateralsBySheet(sheet: IBBCSheetDoc, paginatorOptions?: IPaginatorOptions): Promise<any>;
    getCollateralItemTotal(sheet: IBBCSheetDoc): Promise<any>;
    getCollateralsBenford(collaterals: any[]): any[] | {
        _id: any;
        bbcDates: any;
        confirmed: any[];
    };
    countCollateralDocsByBBC(bbcIds: string[], collateralType: ECollaterals): Promise<any>;
    excludeNoDataColumns(data: any[], columns: string[]): Pick<any, string>[];
    addCustomerGroups(data: any[], borrowerId: string): Promise<any[]>;
    getLatestBBC(borrowerId: string, bbcDate?: Date): Promise<IBBCDateDoc>;
    gebNextBBC(borrowerId: string, bbcDate?: Date): Promise<IBBCDateDoc[]>;
    getLatestBBCDate(borrowerId: string): Promise<{
        lastBBCDate: Date;
        lastBBCId: string;
    }>;
    createBBCDate(bbcDate: ICreateBBCDate): Promise<void>;
    deleteCollateralById(collateralId: string): Promise<mongoose.Document<unknown, {}, IBBCSheetDoc> & IBBCSheetDoc & {
        _id: mongoose.Types.ObjectId;
    }>;
}
