import { Request, Response } from 'express';
import { Services } from '../../../../../types/Services';
import Dict = NodeJS.Dict;
import { DashboardSection } from '../../../../../components/_dashboards/dashboard-visualisation/types';
import type { AsyncReportUtilsParams } from '../../../../../types/AsyncReportUtils';
import type { RequestedReport } from '../../../../../types/UserReports';
import { ReportType } from '../../../../../types/UserReports';
import type { components } from '../../../../../types/api';
import { FilterValue } from '../../../../../components/_filters/types';
export declare const renderAsyncDashboard: ({ req, res, services }: AsyncReportUtilsParams) => Promise<{
    dashboardData: {
        token: string;
        id: string;
        reportId: string;
        name: string;
        description: string | null | undefined;
        reportName: string;
        csrfToken: string;
        sections: DashboardSection[];
        filters: FilterValue[];
        type: ReportType;
        actions: import("../../../../../components/_reports/report-heading/report-actions/types").ReportAction[];
        bookmarkConfig: {
            bookmarkActionEndpoint: string;
            showBookmark: boolean;
            linkText: string;
            linkType: string;
        };
        appliedFilters: import("../../../../../components/_filters/filters-applied/utils").AppliedFilterChip[];
    };
}>;
declare const _default: {
    renderAsyncDashboard: ({ req, res, services }: AsyncReportUtilsParams) => Promise<{
        dashboardData: {
            token: string;
            id: string;
            reportId: string;
            name: string;
            description: string | null | undefined;
            reportName: string;
            csrfToken: string;
            sections: DashboardSection[];
            filters: FilterValue[];
            type: ReportType;
            actions: import("../../../../../components/_reports/report-heading/report-actions/types").ReportAction[];
            bookmarkConfig: {
                bookmarkActionEndpoint: string;
                showBookmark: boolean;
                linkText: string;
                linkType: string;
            };
            appliedFilters: import("../../../../../components/_filters/filters-applied/utils").AppliedFilterChip[];
        };
    }>;
    getDefinitionData: ({ req, res, services, queryData, }: {
        req: Request;
        res: Response;
        services: Services;
        queryData?: Dict<string | string[]> | undefined;
    }) => Promise<{
        query: Record<string, string | string[]>;
        filters: FilterValue[];
        dashboardDefinition: {
            id: string;
            name: string;
            description?: string | null;
            sections: components["schemas"]["DashboardSectionDefinition"][];
            filterFields?: components["schemas"]["FieldDefinition"][] | null;
        };
        reportDefinition: {
            id: string;
            name: string;
            description?: string | null;
            variants: components["schemas"]["VariantDefinitionSummary"][];
            dashboards?: components["schemas"]["DashboardDefinitionSummary"][] | null;
            authorised: boolean;
        };
        appliedFilters: import("../../../../../components/_filters/filters-applied/utils").AppliedFilterChip[];
    }>;
    setDashboardActions: (dashboardDefinition: components["schemas"]["DashboardDefinition"], reportDefinition: components["schemas"]["ReportDefinitionSummary"], requestData?: RequestedReport) => import("../../../../../components/_reports/report-heading/report-actions/types").ReportAction[];
};
export default _default;
