import { AdminContextProvider } from '../../admin-context/providers/admin-context.provider.js';
import { TenantAwareDBClient } from '../../app-providers/tenant-db-client.js';
import { DynamicReportProvider } from '../../reports/providers/dynamic-report.provider.js';
import type { AnnualAuditOpeningBalanceStatusResult, AnnualAuditStepStatusResult, SetAnnualAuditStep09StatusInput, SetAnnualAuditStepStatusInput } from '../types.js';
export declare class AnnualAuditProvider {
    private adminContextProvider;
    private dynamicReportProvider;
    private db;
    constructor(adminContextProvider: AdminContextProvider, dynamicReportProvider: DynamicReportProvider, db: TenantAwareDBClient);
    getOpeningBalanceStatus(ownerId: string, year: number): Promise<AnnualAuditOpeningBalanceStatusResult>;
    private classifyUserType;
    private computeMigratingDerivedStatus;
    private checkBalanceChargeExists;
    getStepStatuses(ownerId: string, year: number): Promise<AnnualAuditStepStatusResult[]>;
    upsertStepStatus(input: SetAnnualAuditStepStatusInput): Promise<AnnualAuditStepStatusResult>;
    setStep09Status(input: SetAnnualAuditStep09StatusInput): Promise<AnnualAuditStepStatusResult>;
    resetStep09ForTemplate(ownerId: string, templateName: string): Promise<void>;
    private mapStepStatusRow;
}
