import { IDataFieldManagerBaseJSON, IDataFieldValue, PivotSubtotalTypeEnum } from '../types';
import { DataField } from './data-field';
import { FieldsCollection } from './fields-collection';
type autoDisplayNameFunction = (name: string, subtotalType: PivotSubtotalTypeEnum) => string;
export declare abstract class DataFieldManager {
    dataFields: Record<string, DataField>;
    collections: Record<string, FieldsCollection>;
    constructor();
    createDataFieldId(): string;
    getAutoDisplayNameFunction(): autoDisplayNameFunction | null;
    getNoUsedDataFieldIds(excludeCollectionToken: string): string[];
    createCollection(id: string, rangeStr: unknown): FieldsCollection;
    dispose(): void;
    toJSON(): IDataFieldManagerBaseJSON;
    addCollection(token: string, collection: FieldsCollection, sourceRangeInfo: any, ...args: any): void;
    fromJSON(jsonData: IDataFieldManagerBaseJSON): void;
    abstract getRangeData(rangeKey: unknown): {
        header: unknown[];
        data: IDataFieldValue[][];
    };
}
export {};
