import { type Request } from 'express';
import { type DashboardInfo, type PluginRendererDataParams, type PrometheusDashboardType } from '../../../shared/prometheus/types';
import { type CheckPermissionResult } from '../../../shared/utils/check-permission';
import { type BatchResultsItem, type BatchSubRequest } from '../../../shared/yt-types';
export declare function fetchDashboardDetails(req: Request, { cluster, dashboardType, chartId, params, }: {
    cluster: string;
    dashboardType: PrometheusDashboardType;
    params: PluginRendererDataParams;
    chartId?: string;
}): Promise<{
    panel: ({
        title?: string;
        gridPos: {
            x: number;
            y: number;
            w: number;
            h: number;
        };
    } & {
        type: "timeseries";
        targets: Array<import("../../../shared/prometheus/types").TimeseriesTarget>;
        title: string;
        fieldConfig: import("../../../shared/prometheus/types").FieldConfig;
    }) | undefined;
    templating: {
        list: Array<import("../../../shared/prometheus/types").TemplatingListItem>;
        permissions?: Array<import("../../../shared/prometheus/types").PermissionTemplate>;
    };
} & {
    chartParams: PluginRendererDataParams;
}>;
export declare function checkDashboardPermissions(req: Request, { ytAuthCluster, permissions, chartParams, }: {
    ytAuthCluster: string;
    permissions?: DashboardInfo['templating']['permissions'];
    chartParams: PluginRendererDataParams;
}): Promise<{
    checkResults: BatchResultsItem<CheckPermissionResult>[][];
    permissionEntries: [string, BatchSubRequest[]][];
}>;
