import { IRange, Nullable, Disposable, Injector, IUniverInstanceService, LocaleService, ObjectMatrix } from '@univerjs/core';
import { IPivotRangesInfo, IPivotRenderCache, IPivotTableCellData, IPivotTableConfigChangeInfo, IPivotViewUpdateInfo } from '../const/type';
import { IExclusiveRangeService } from '@univerjs/sheets';
import { SheetsPivotTableConfigModel } from './sheets-pivot-config-model';
export declare class SheetsPivotTableAdaptorModel extends Disposable {
    private _localeService;
    private _injector;
    private _sheetsPivotTableConfigModel;
    private _univerInstanceService;
    private readonly _exclusiveRangeService;
    private _pivotRenderInfoCache;
    private _pivotRenderValueMatrixCache;
    private _markDirty$;
    markDirty$: import('rxjs').Observable<{
        unitId: string;
        subUnitId: string;
    }>;
    private _viewUpdate$;
    viewUpdate$: import('rxjs').Observable<IPivotViewUpdateInfo>;
    private _textInfo;
    constructor(_localeService: LocaleService, _injector: Injector, _sheetsPivotTableConfigModel: SheetsPivotTableConfigModel, _univerInstanceService: IUniverInstanceService, _exclusiveRangeService: IExclusiveRangeService);
    private _initUnitDisposed;
    private _initLocale;
    updateRenderCache(config: IPivotTableConfigChangeInfo): {
        rangeCache: IPivotRangesInfo | undefined;
        matrix: ObjectMatrix<Nullable<IPivotTableCellData>>;
    } | undefined;
    private _updateRenderEmptyCache;
    private _createExclusiveRange;
    clearRenderCache(config: IPivotTableConfigChangeInfo): void;
    private _ensurePivotItemRenderInfoCache;
    private _ensurePivotItemRenderValueMatrixCache;
    getPivotTableCellData(unitId: string, subUnitId: string, row: number, col: number): IPivotTableCellData | undefined;
    getPivotTableIdByCell(unitId: string, subUnitId: string, row: number, col: number): Nullable<string>;
    /**
     * Get pivot table ids that intersect with the range
     * @param {string} unitId The test unit id of range
     * @param {string} subUnitId The sub unit id of range
     * @param {IRange} range The range to check
     * @returns {string[]} The pivot table ids that intersect with the range
     */
    getIntersectsPivotTable(unitId: string, subUnitId: string, range: IRange): string[];
    getSubUnitPivotMatrix(unitId: string, subUnitId: string): ObjectMatrix<Nullable<IPivotTableCellData>>;
    getSubUnitPivotRenderCache(unitId: string, subUnitId: string): Map<string, IPivotRenderCache> | undefined;
    getPivotItemRenderInfoCache(unitId: string, subUnitId: string, pivotTableId: string): Nullable<IPivotRenderCache>;
    deleteUnitId(unitId: string): void;
    markDirty(unitId: string, subUnitId: string): void;
}
