/// <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';
export declare const getSKUUnitCostForAllDates: (sheetsIds: mongoose.Types.ObjectId[]) => Promise<{
    _id: string;
    currentCost: number;
    minCost: {
        minCost: number;
        bbcDate: string;
    };
    qty: number;
}[]>;
export declare const getInventoryItemsSKUAndValue: (sheetIds: string[]) => Promise<{
    _id: string;
    totalAmount: number;
}[]>;
export declare const getInventoriesAndTheirQtyByBorrowerId: (borrowerId: string, allBbcDates: {
    bbcDate: Date;
}[]) => Promise<{
    _id: string;
    qty: number;
}[]>;
export declare const getMostRecentInventoryBBCDate: (borrowerId: string) => Promise<Date>;
export declare const getLastDigitFromAllValues: (allBbcDates: {
    bbcDate: Date;
    ids: mongoose.Types.ObjectId[];
}[]) => Promise<any[]>;
export declare const groupSKUsByDate: (borrowerId: string) => Promise<{
    items: {
        _id: string;
        valuesAtTime: {
            bbcDate: string;
            count: number;
        }[];
    }[];
    oneMonthAgo: Date;
    threeMonthsAgo: Date;
    sixMonthsAgo: Date;
    recent: Date;
}>;
export declare const getAllTimeOldestSKUDateNew: (borrowerId: string, bbcDate: Date) => Promise<{
    _id: string;
    oldestDate: string;
}[]>;
export declare const aggregateSKUDateAgingPlot: (bbcSheetIds: mongoose.Types.ObjectId[]) => Promise<{
    '0-30': number;
    '30-60': number;
    '60-90': number;
    '90+': number;
}>;
interface ISkus {
    category: string;
    sku: string;
    skuDescription: string;
    value: number;
}
export declare const aggregateAllValuesForBbc: (bbcSheetIds: mongoose.Types.ObjectId[]) => Promise<ISkus[]>;
export declare const aggregateBbcExposures: (bbcSheetIds: mongoose.Types.ObjectId[]) => Promise<{
    inventoryTotal: any;
    topItemsForBbc: any[];
}>;
export declare const aggregateBbcExposuresGrouped: (bbcSheetIds: mongoose.Types.ObjectId[]) => Promise<{
    inventoryTotal: any;
    topItemsForBbc: any[];
}>;
export declare const getAllCategories: (borrowerId: string) => Promise<{
    categories: string[];
}[]>;
export {};
