import type { AnyObject } from "antd/es/_util/type";
import type { DataIndex } from "rc-table/lib/interface";
import type { IntelligentTableColumnType } from "../../types/IntelligentTable/IntelligentTableColumnType";
/**
 * Detects the type of a value for sorting and formatting.
 *
 * @param {unknown} value - The value to detect.
 * @returns {"number" | "id" | "percentage" | "currency" | "date" | "dayOfWeek" | "string"} The detected type.
 */
export declare const detectType: (value: unknown) => "number" | "id" | "percentage" | "currency" | "date" | "dayOfWeek" | "string";
/**
 * Formats a number to a fixed number of decimal places.
 *
 * @param {number} num - The number to format.
 * @param {number} decimalPlaces - Number of decimal places.
 * @returns {string} The formatted string.
 */
export declare const formatValue: (num: number, decimalPlaces: number) => string;
/**
 * Enhances columns with smart sorting, rendering, and filtering logic.
 *
 * @param {IntelligentTableColumnType[]} columns - The columns to enhance.
 * @returns {IntelligentTableColumnType[]} The enhanced columns.
 */
export declare const enhanceColumns: (columns: IntelligentTableColumnType[]) => IntelligentTableColumnType[];
/**
 * Gets the most frequent symbol from an array of symbols.
 *
 * @param {string[]} symbols - Array of symbols.
 * @returns {string} The most frequent symbol.
 */
export declare const getMostFrequentSymbol: (symbols: string[]) => string;
/**
 * Parses a value to extract its numeric value and symbol (currency, percentage, etc).
 *
 * @param {unknown} value - The value to parse.
 * @returns {{ number: number | null; symbol: string }} The parsed number and symbol.
 */
export declare const parseNumericValue: (value: unknown) => {
    number: number | null;
    symbol: string;
};
/**
 * Recursively flattens columns to get all leaf columns.
 *
 * @param {IntelligentTableColumnType[]} columns - The columns to flatten.
 * @returns {IntelligentTableColumnType[]} Array of leaf columns.
 */
export declare const getLeafColumns: (columns: IntelligentTableColumnType[]) => IntelligentTableColumnType[];
/**
 * Gets the value from a row by its dataIndex, supporting nested arrays.
 *
 * @param {AnyObject} row - The row object.
 * @param {DataIndex<AnyObject>} dataIndex - The dataIndex (string, number, or array).
 * @returns {unknown} The value at the given dataIndex.
 */
export declare function getValueByDataIndex(row: AnyObject, dataIndex: DataIndex<AnyObject>): unknown;
