import type { components } from '../../../types/api';
import { FilterValue } from '../../_filters/types';
/**
 * Initialises the sortData from the definition
 */
export declare const getSortByFromDefinition: (fields: components["schemas"]["FieldDefinition"][]) => FilterValue[];
/**
 * Returns the data required for rendering the async filters component
 *
 * @param {AsyncReportUtilsParams} { req, res, dataSources }
 * @return {*}
 */
export declare const renderFilters: (fields: components["schemas"]["FieldDefinition"][]) => Promise<{
    filters: FilterValue[];
    sortBy: FilterValue[];
}>;
/**
 * Builds filter data from req.body filters.
 *
 * - Processes only `filters.*` keys
 * - Strips `filters.` prefix
 * - Drops empty values
 * - Normalizes UI dates via uiDateToApi
 * - Collapses arrays to CSV (BE contract)
 *
 * @param {Record<string, unknown>} body
 * @return {*}  {Record<string, string>}
 */
export declare const buildFilterData: (body: Record<string, unknown>) => Record<string, string>;
/**
 * Builds sort data from the request body.
 *
 * - Supports single (radio) or multiple (checkbox) sort columns
 * - Uses a global sort direction
 * - Collapses columns to CSV (API contract)
 *
 * @param {Record<string, unknown>} body
 * @return {*}  {Record<string, string>}
 */
export declare const buildSortData: (body: Record<string, unknown>) => Record<string, string> | undefined;
declare const _default: {
    renderFilters: (fields: components["schemas"]["FieldDefinition"][]) => Promise<{
        filters: FilterValue[];
        sortBy: FilterValue[];
    }>;
};
export default _default;
