import { Request, Response, NextFunction } from 'express';
import type { ExecutionData, ChildReportExecutionData } from '../../../../types/ExecutionData';
import type { AsyncReportUtilsParams, RequestDataResult } from '../../../../types/AsyncReportUtils';
import type { SetQueryFromFiltersResult } from '../../../../components/_async/async-filters-form/types';
import type { components } from '../../../../types/api';
import type { Services } from '../../../../types/Services';
/**
 * Updates the store with the request details
 *
 * @param {Request} req
 * @param {Response} res
 * @param {Services} services
 * @param {SetQueryFromFiltersResult} querySummaryData
 * @param {string} executionData
 * @return {*}  {Promise<string>}
 */
export declare const updateStore: ({ req, res, services, queryData, executionData, childExecutionData, }: {
    req: Request;
    res: Response;
    services: Services;
    queryData?: SetQueryFromFiltersResult | undefined;
    executionData: ExecutionData;
    childExecutionData: Array<ChildReportExecutionData>;
}) => Promise<void>;
export declare const getDefintionByType: (req: Request, res: Response, _next: NextFunction, services: Services) => Promise<{
    id: string;
    name: string;
    description?: string;
    sections: components["schemas"]["DashboardSectionDefinition"][];
    filterFields?: components["schemas"]["FieldDefinition"][];
} | {
    id: string;
    name: string;
    description?: string;
    variant: components["schemas"]["VariantDefinition"];
}>;
/**
 * Sends the request for the async report
 *
 * @param {AsyncReportUtilsParams} { req, res, services }
 * @return {*}
 */
export declare const request: ({ req, res, services }: AsyncReportUtilsParams) => Promise<ExecutionData>;
export declare const cancelRequest: ({ req, res, services }: AsyncReportUtilsParams) => Promise<void>;
/**
 * Returns the data required for rendering the async filters component
 *
 * @param {AsyncReportUtilsParams} { req, res, dataSources }
 * @return {*}
 */
export declare const renderRequest: ({ req, res, services, next, }: {
    req: Request;
    res: Response;
    next: NextFunction;
    services: Services;
}) => Promise<RequestDataResult | boolean>;
export declare const getFiltersFromReqBody: (req: Request) => {
    name: string;
    value: any;
}[];
declare const _default: {
    request: ({ req, res, services }: AsyncReportUtilsParams) => Promise<ExecutionData>;
    cancelRequest: ({ req, res, services }: AsyncReportUtilsParams) => Promise<void>;
    renderRequest: ({ req, res, services, next, }: {
        req: Request;
        res: Response;
        next: NextFunction;
        services: Services;
    }) => Promise<RequestDataResult | boolean>;
    getFiltersFromReqBody: (req: Request) => {
        name: string;
        value: any;
    }[];
    getDefintionByType: (req: Request, res: Response, _next: NextFunction, services: Services) => Promise<{
        id: string;
        name: string;
        description?: string;
        sections: components["schemas"]["DashboardSectionDefinition"][];
        filterFields?: components["schemas"]["FieldDefinition"][];
    } | {
        id: string;
        name: string;
        description?: string;
        variant: components["schemas"]["VariantDefinition"];
    }>;
};
export default _default;
