import Dict = NodeJS.Dict;
import DashboardClient from '../data/dashboardClient';
import { components } from '../types/api';
import { DashboardDataResponse } from '../types/Metrics';
declare class DashboardService {
    private readonly dashboardClient;
    constructor(dashboardClient: DashboardClient);
    getDefinition(token: string, dpdId: string, id: string, dataProductDefinitionsPath?: string, query?: Dict<string | string[]> | undefined): Promise<components['schemas']['DashboardDefinition']>;
    requestAsyncDashboard(token: string, reportId: string, dashboardId: string, query: Record<string, string | boolean | number>): Promise<Dict<string>>;
    cancelAsyncRequest(token: string, reportId: string, dashboardId: string, executionId: string, dataProductDefinitionsPath?: string): Promise<Dict<string>>;
    getAsyncStatus(token: string, reportId: string, dashboardId: string, executionId: string, tableId?: string, dataProductDefinitionsPath?: string): Promise<components['schemas']['StatementExecutionStatus']>;
    getAsyncDashboard(token: string, reportId: string, dashboardId: string, tableId: string, query: Record<string, string | string[]>): Promise<DashboardDataResponse[][]>;
    getSyncDashboard(token: string, dashboardId: string, reportId: string, query: Record<string, string | string[]>): Promise<DashboardDataResponse[][]>;
}
export { DashboardService };
export default DashboardService;
