import { BaseXform } from "../base-xform.js";
import { type CacheFieldModel } from "./cache-field-xform.js";
import type { PivotTableSource } from "../../../pivot-table.js";
/**
 * Model for parsed pivot cache definition
 */
interface ParsedCacheDefinitionModel {
    sourceRef?: string;
    sourceSheet?: string;
    sourceTableName?: string;
    cacheFields: CacheFieldModel[];
    recordCount?: number;
    rId?: string;
    refreshOnLoad?: string;
    createdVersion?: string;
    refreshedVersion?: string;
    minRefreshableVersion?: string;
    isLoaded?: boolean;
}
/**
 * Model for generating pivot cache definition (with live source)
 */
interface CacheDefinitionModel {
    source: PivotTableSource;
    cacheFields: any[];
}
declare class PivotCacheDefinitionXform extends BaseXform {
    map: {
        [key: string]: any;
    };
    model: ParsedCacheDefinitionModel | null;
    private currentCacheField;
    private inCacheFields;
    private inCacheSource;
    constructor();
    prepare(_model: any): void;
    get tag(): string;
    reset(): void;
    /**
     * Render pivot cache definition XML.
     * Supports both newly created models (with PivotTableSource) and loaded models.
     */
    render(xmlStream: any, model: CacheDefinitionModel | ParsedCacheDefinitionModel): 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;
    reconcile(_model: any, _options: any): void;
    static PIVOT_CACHE_DEFINITION_ATTRIBUTES: {
        xmlns: string;
        "xmlns:r": string;
    };
}
export { PivotCacheDefinitionXform, type ParsedCacheDefinitionModel };
