import { type Attribute, type DataSource, type Measure } from '@sisense/sdk-data';
/** `by` field for JAQL export requests. */
export declare const EXCEL_EXPORT_JAQL_BY = "export";
/**
 * Optional pivot row/column hint on {@link Attribute} for XLSX metadata `panel`
 * (set by pivot Excel download; chart dimensions omit it and default to `rows`).
 */
export type ExcelExportDimensionPanel = 'rows' | 'columns';
type ExcelExportJaqlWidgetContext = {
    widgetOid: string;
    widgetTitle: string;
    dataSource: DataSource;
    /** Repeat rows (`false`) vs merge rows (`true`) for the export JAQL. */
    mergeRows: boolean;
};
type XlsxExportQueryParams = {
    dimensions?: readonly Attribute[];
    measures?: readonly Measure[];
};
/**
 * Resolves XLSX metadata `panel` for a dimension.
 * When `mergeRows` is `false` (repeat rows), always returns `rows` so column dimensions are flattened into rows.
 * When `mergeRows` is `true`, uses {@link Attribute} `panel` when set (pivot column axes → `columns`), else `rows`.
 */
export declare function resolveExcelDimensionMetadataPanel(dimension: Attribute, mergeRows: boolean): ExcelExportDimensionPanel;
/**
 * Returns export metadata items describing XLSX table panels (rows/measures).
 * `field.index` on each metadata item is sequential across dimensions then measures (0…n−1).
 *
 * @param mergeRows - When `false`, every dimension metadata item uses panel `rows` (see {@link resolveExcelDimensionMetadataPanel}).
 * @returns Metadata entries for JAQL `metadata` used by the XLSX export endpoint.
 */
export declare function createPanelsMetadataForXlsx(dimensions: XlsxExportQueryParams['dimensions'], measures: XlsxExportQueryParams['measures'], mergeRows: boolean): {
    jaql: {
        column: any;
        title: any;
        dim: any;
        merged: boolean;
    };
    field: {
        id: string;
        index: number;
    };
    format: Record<string, any>;
    panel: "measures" | ExcelExportDimensionPanel;
}[];
export declare function buildJaqlForExcelExport(params: XlsxExportQueryParams, context: ExcelExportJaqlWidgetContext): Record<string, unknown>;
export {};
