import { BaseXform } from "@excel/xlsx/xform/base-xform";
import type { PivotTableSource } from "@excel/pivot-table";
/**
 * Model for generating pivot cache records (with live source)
 */
interface CacheRecordsModel {
    source: PivotTableSource;
    cacheFields: any[];
}
/**
 * Parsed record value - can be:
 * - { type: 'x', value: number } - Shared item index
 * - { type: 'n', value: number } - Numeric value
 * - { type: 's', value: string } - String value
 * - { type: 'b', value: boolean } - Boolean value
 * - { type: 'm' } - Missing/null value
 * - { type: 'd', value: Date } - Date value
 * - { type: 'e', value: string } - Error value
 */
interface RecordValue {
    type: "x" | "n" | "s" | "b" | "m" | "d" | "e";
    value?: any;
}
/**
 * Parsed cache records model
 */
interface ParsedCacheRecordsModel {
    records: RecordValue[][];
    count: number;
    isLoaded?: boolean;
}
declare class PivotCacheRecordsXform extends BaseXform {
    map: {
        [key: string]: any;
    };
    model: ParsedCacheRecordsModel | null;
    private currentRecord;
    constructor();
    prepare(_model: any): void;
    get tag(): string;
    reset(): void;
    /**
     * Render pivot cache records XML.
     * Supports both newly created models (with PivotTableSource) and loaded models.
     */
    render(xmlStream: any, model: CacheRecordsModel | ParsedCacheRecordsModel): void;
    /**
     * Render newly created pivot cache records
     */
    private renderNew;
    /**
     * Render loaded pivot cache records
     */
    private renderLoaded;
    /**
     * Render a single record value to XML
     */
    private renderRecordValue;
    private renderTableNew;
    private renderCellNew;
    parseOpen(node: any): boolean;
    parseText(_text: string): void;
    parseClose(name: string): boolean;
    reconcile(_model: any, _options: any): void;
    static PIVOT_CACHE_RECORDS_ATTRIBUTES: {
        xmlns: string;
        "xmlns:r": string;
        "xmlns:mc": string;
        "mc:Ignorable": string;
        "xmlns:xr": string;
    };
}
export { PivotCacheRecordsXform, type ParsedCacheRecordsModel };
