export declare const ASC_SORT_STATE = "asc"; export declare const DESC_SORT_STATE = "desc"; export declare const HEADER_SPAN_CLASS = "colHeader"; /** * Get if all sorted columns states are valid. * * @param {Array} sortStates The sort state collection. * @returns {boolean} */ export declare function areValidSortStates(sortStates: unknown[]): boolean; /** * Get next sort order for particular column. The order sequence looks as follows: 'asc' -> 'desc' -> undefined -> 'asc'. * * @param {string|undefined} sortOrder Sort order (`asc` for ascending, `desc` for descending and undefined for not sorted). * @returns {string|undefined} Next sort order (`asc` for ascending, `desc` for descending and undefined for not sorted). */ export declare function getNextSortOrder(sortOrder?: string): "asc" | "desc" | undefined; /** * Get `span` DOM element inside `th` DOM element. * * @param {Element} TH Th HTML element. * @returns {Element | null} */ export declare function getHeaderSpanElement(TH: HTMLTableCellElement): HTMLElement | null; /** * * Get if handled header is first level column header. * * @param {number} column Visual column index. * @param {Element} TH Th HTML element. * @returns {boolean} */ export declare function isFirstLevelColumnHeader(column: number, TH: HTMLTableCellElement): boolean; /** * Get if header was clicked properly. Click on column header and NOT done by right click return `true`. * * @param {number} row Visual row index. * @param {number} column Visual column index. * @param {Event} clickEvent Click event. * @returns {boolean} */ export declare function wasHeaderClickedProperly(row: number, column: number, clickEvent: Event): boolean; /** * Creates intl-date sorting compare function. * * @param {string} sortOrder Sort order (`asc` for ascending, `desc` for descending). * @param {object} columnPluginSettings Plugin settings for the column. * @returns {Function} The compare function. */ export declare function createIntlDateCompareFunction(sortOrder: string, columnPluginSettings: Record): (value: unknown, nextValue: unknown) => number; /** * Creates intl-time sorting compare function. * * @param {string} sortOrder Sort order (`asc` for ascending, `desc` for descending). * @param {object} columnPluginSettings Plugin settings for the column. * @returns {Function} The compare function. */ export declare function createIntlTimeCompareFunction(sortOrder: string, columnPluginSettings: Record): (value: unknown, nextValue: unknown) => number; /** * Warn users about problems when using `columnSorting` and `multiColumnSorting` plugins simultaneously. * * @param {string} workingPlugin The plugin that will work. * @param {string} disabledPlugin The plugin that will remain disabled. */ export declare function warnAboutPluginsConflict(workingPlugin: string, disabledPlugin: string): void;