import { BaseXform } from "@excel/xlsx/xform/base-xform";
import type { CacheField as CacheFieldType, ParsedCacheDefinition, PivotTableSource } from "@excel/pivot-table";
import { XmlStream } from "@excel/utils/xml-stream";
/**
 * Model for generating pivot cache definition (with live source)
 */
interface CacheDefinitionModel {
    source: PivotTableSource;
    cacheFields: CacheFieldType[];
}
declare class PivotCacheDefinitionXform extends BaseXform<ParsedCacheDefinition | null> {
    private currentCacheField;
    private inCacheFields;
    private inCacheSource;
    private extLstCollector;
    private unknownCollector;
    private unknownElementsXmlParts;
    private cacheSourceChildCollector;
    private cacheSourceXmlParts;
    constructor();
    get tag(): string;
    reset(): void;
    /**
     * Render pivot cache definition XML.
     * Supports both newly created models (with PivotTableSource) and loaded models.
     */
    render(xmlStream: XmlStream, model: CacheDefinitionModel | ParsedCacheDefinition): void;
    /**
     * Render newly created pivot cache definition
     */
    private renderNew;
    /**
     * Render loaded pivot cache definition (preserving original structure)
     */
    private renderLoaded;
    parseOpen(node: any): boolean;
    parseText(text: string): void;
    parseClose(name: string): boolean;
    static renderCacheFieldsXml(cacheFields: CacheFieldType[]): string;
    static readonly PIVOT_CACHE_DEFINITION_ATTRIBUTES: {
        xmlns: string;
        "xmlns:r": string;
    };
}
export { PivotCacheDefinitionXform };
