import { Request } from 'express';
import type { SetQueryFromFiltersResult } from './types';
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[];
export declare const setDurationStartAndEnd: (name: string, value: string, query: Record<string, string>, filterData: Record<string, string>, querySummary: Array<Record<string, string>>, fields: components["schemas"]["FieldDefinition"][]) => {
    querySummary: Record<string, string>[];
    filterData: Record<string, string>;
    query: Record<string, string>;
};
/**
 * 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[];
}>;
export declare const setQueryFromFilters: (req: Request, fields: components["schemas"]["FieldDefinition"][]) => SetQueryFromFiltersResult;
declare const _default: {
    renderFilters: (fields: components["schemas"]["FieldDefinition"][]) => Promise<{
        filters: FilterValue[];
        sortBy: FilterValue[];
    }>;
    setQueryFromFilters: (req: Request, fields: components["schemas"]["FieldDefinition"][]) => SetQueryFromFiltersResult;
};
export default _default;
