import type { Metric, PromMetricsMetadata, DataProviderParams } from '../types'; export declare class DataProvider { readonly metricNamesSuggestionLimit: number; private inputInRange; private suggestionsIncomplete; private readonly lookbackInterval; private variablesNames; private readonly url; private readonly errorHandler?; private readonly httpMethod; private readonly apiPrefix; private enableRequests; private readonly customRequest; metrics: string[]; labelKeys: string[]; metricsMetadata?: PromMetricsMetadata; durationVariablesCompletion: boolean; constructor(params: DataProviderParams); getVariablesNames(): string[]; setVariablesNames(variablesNames: string[]): void; private buildRequest; private request; fetchSeries: (selector: string, withLimit?: string | undefined) => Promise[]>; fetchLabels: (selector: string) => Promise; fetchLabelValues: (labelName: string, selector: string) => Promise; getAllMetricNames(): string[]; start: () => Promise; loadMetricsMetadata(): Promise; metricNamesToMetrics(metricNames: string[]): Metric[]; private setInputInRange; private enableAutocompleteSuggestionsUpdate; get monacoSettings(): { /** * Enable autocomplete suggestions update on every input change. * * @remarks * If fuzzy search is used in `getCompletions` to trim down results to improve performance, * we need to instruct Monaco to update the completions on every input change, so that the * completions reflect the current input. */ enableAutocompleteSuggestionsUpdate: () => void; inputInRange: string; setInputInRange: (textInput: string) => void; suggestionsIncomplete: boolean; }; }