import { JaqlPanel, JaqlRequest, MeasurePath, SortDetails } from '../../data-load/types.js'; import { ListOfJaqlDataTypes, ListOfSortingDirections } from '../constants.js'; import { PivotTreeNode } from '../types.js'; export declare type DataTypes = { [key: string]: string; }; export declare function getDataTypes(panels?: Array): DataTypes; export declare function isMeasurePathEqual(_measurePathA?: MeasurePath | null, _measurePathB?: MeasurePath | null, dataTypes?: DataTypes): boolean; /** * Get appropriate metadata panels (rows/columns/measures) from JAQL request object * * @param {JaqlRequest} jaql - jaql with metadata * @param {string} type - panels type to receive * @returns {Array} - list of panels */ export declare const getMetadataPanels: (jaql?: JaqlRequest, type?: string) => Array; /** * Get appropriate metadata panel (rows/columns/measures) from JAQL request object by panel index * * @param {JaqlRequest} jaql - jaql with metadata * @param {number} index - panel index * @param {string} [type] - panels type to receive * @returns {JaqlPanel} - jaql panels */ export declare const getMetadataPanelByIndex: (jaql?: JaqlRequest, index?: number, type?: string) => JaqlPanel | undefined; /** * Get appropriate metadata panels (rows/columns/measures) in TreeNode structure from * JAQL request object * * @param {JaqlRequest} jaql - jaql with metadata * @param {string} [type=PanelType.ROWS] - panels type to receive * @returns {PivotTreeNode} - metadata panels tree */ export declare const getMetadataTree: (jaql?: JaqlRequest, type?: string) => PivotTreeNode; /** * Removes redundant sort details for single branch tree * (As such pivot can be sorted only by one panel) * * @param {JaqlRequest} jaql - jaql request * @returns {void} */ export declare const normalizeSingleBranchTreeSortDetails: (jaql: JaqlRequest) => void; /** * Updates last applied flag on metadata item sort details * (Required for proper apply single branch tree sorting) * * @param {JaqlRequest} jaql - jaql request * @param {SortDetails} sortDetails - last updated sort details * @returns {void} */ export declare const updateLastAppliedSortingFlag: (jaql: JaqlRequest, sortDetails: SortDetails) => void; /** * method to handle new sorting metadata * * @param {SortDetails} sortDetails - node with sorting metadata * @param {?JaqlRequest} jaql - jaql to process * @param {object} [options] - additional options * @param {Function} [options.formatter] - fields formatter for measurePath * @param {boolean} [options.isSingleRowTree] - defines data structure * @returns {JaqlRequest} - reload pivot after jaql formatting */ export declare const updatePanelsSortingMetadata: (sortDetails: SortDetails, jaql: JaqlRequest, options?: { formatter?: Function; isSingleRowTree?: boolean; }) => void; /** * Set width for jaql panel item * * @param {JaqlRequest} jaql - jaql request object * @param {number} jaqlIndex - jaql panel item index * @param {number} width - jaql panel item width * @returns {void} */ export declare const setResizeWidthToJaql: (jaql: JaqlRequest | undefined, jaqlIndex: number, width: number) => void; /** * Get pairs 'jaqlIndex: value' for jaql panel items * * @param {JaqlRequest} jaql - jaql request object * @returns {object} - object, keys - jaqlIndex, value - width * appropriate width */ export declare const getResizeWidthFromJaql: (jaql?: JaqlRequest) => { [key: number]: number; }; export declare const markSortedNode: (jaql: JaqlRequest | undefined, item: PivotTreeNode) => void; declare function handleComplexSortingSettingsUpdate(jaql: JaqlRequest, desiredSortingSettings: (SortingSettingsItem & { indexInJaql: number; })[], possibleSortDetailsOfCurrentMeasure: SortDetails, options: { formatter?: Function; isSingleRowTree: boolean; }): void; export declare type SortingSettingsItem = { title: string; datatype: ListOfJaqlDataTypes; selected: boolean; direction: ListOfSortingDirections | null; indexInJaql?: number; }; declare function mapWidgetJaqlToComplexSortingSettings(jaql: JaqlRequest, possibleSortDetailsOfCurrentMeasure: SortDetails): Array>; declare function mapWidgetJaqlToSimpleSortingSettings(metadataPanels: JaqlPanel[], possibleSortDetailsOfCurrentMeasure: SortDetails, dataTypes: DataTypes): SortingSettingsItem | undefined; declare const _default: { isMeasurePathEqual: typeof isMeasurePathEqual; getDataTypes: typeof getDataTypes; updatePanelsSortingMetadata: (sortDetails: SortDetails, jaql: JaqlRequest, options?: { formatter?: Function | undefined; isSingleRowTree?: boolean | undefined; } | undefined) => void; getMetadataTree: (jaql?: JaqlRequest | undefined, type?: string) => PivotTreeNode; getMetadataPanels: (jaql?: JaqlRequest | undefined, type?: string | undefined) => JaqlPanel[]; getMetadataPanelByIndex: (jaql?: JaqlRequest | undefined, index?: number | undefined, type?: string | undefined) => JaqlPanel | undefined; setResizeWidthToJaql: (jaql: JaqlRequest | undefined, jaqlIndex: number, width: number) => void; getResizeWidthFromJaql: (jaql?: JaqlRequest | undefined) => { [key: number]: number; }; markSortedNode: (jaql: JaqlRequest | undefined, item: PivotTreeNode) => void; normalizeSingleBranchTreeSortDetails: (jaql: JaqlRequest) => void; updateLastAppliedSortingFlag: (jaql: JaqlRequest, sortDetails: SortDetails) => void; handleComplexSortingSettingsUpdate: typeof handleComplexSortingSettingsUpdate; mapWidgetJaqlToSimpleSortingSettings: typeof mapWidgetJaqlToSimpleSortingSettings; mapWidgetJaqlToComplexSortingSettings: typeof mapWidgetJaqlToComplexSortingSettings; }; export default _default;