import DataLoader from 'dataloader';
import { AdminContextProvider } from '../../admin-context/providers/admin-context.provider.js';
import { TenantAwareDBClient } from '../../app-providers/tenant-db-client.js';
import { IInsertReportParams, IUpdateReportParams } from '../types.js';
export declare class VatReportProvider {
    private db;
    private adminContextProvider;
    constructor(db: TenantAwareDBClient, adminContextProvider: AdminContextProvider);
    private batchReportsByBusinessIdAndMonthDatesLoader;
    getReportByBusinessIdAndMonthDateLoader: DataLoader<[string, string], string | undefined, string>;
    updateReport(params: IUpdateReportParams): Promise<import("../types.js").IUpdateReportResult[]>;
    insertReport(params: IInsertReportParams): Promise<import("../types.js").IInsertReportResult[]>;
    invalidateByBusinessIdAndMonth(businessId: string, monthDate: string): Promise<void>;
    clearCache(): void;
}
