import RestClient from './restClient';
import Dict = NodeJS.Dict;
import { ApiConfig } from './types';
import { components } from '../types/api';
import { DashboardDataResponse } from '../types/Metrics';
declare class DashboardClient {
    restClient: RestClient;
    constructor(config: ApiConfig);
    getDefinition(token: string, dashboardId: string, dpdId: string, definitionsPath?: string, queryData?: Dict<string | string[]> | undefined): Promise<components['schemas']['DashboardDefinition']>;
    requestAsyncDashboard(token: string, reportId: string, dashboardId: string, query: Record<string, string | boolean | number>): Promise<Dict<string>>;
    getAsyncDashboard(token: string, reportId: string, dashboardId: string, tableId: string, query: Record<string, string | string[]>): Promise<DashboardDataResponse[][]>;
    getAsyncStatus(token: string, reportId: string, dashboardId: string, executionId: string, tableId?: string, dataProductDefinitionsPath?: string): Promise<components['schemas']['StatementExecutionStatus']>;
    cancelAsyncRequest(token: string, reportId: string, dashboardId: string, executionId: string, dataProductDefinitionsPath?: string): Promise<Dict<string>>;
    getSyncDashboard(token: string, reportId: string, dashboardId: string, query: Record<string, string | string[]>): Promise<DashboardDataResponse[][]>;
    logInfo(title: string, args?: Dict<string>): void;
}
export { DashboardClient };
export default DashboardClient;
