import { Registry } from '@grafana/data'; import { type PrometheusVisualQuery, type QueryBuilderLabelFilter, type QueryBuilderOperation, type QueryBuilderOperationDef, type VisualQueryBinary, type VisualQueryModeller } from './types'; export declare abstract class PromQueryModellerBase implements VisualQueryModeller { protected operationsRegistry: Registry; private categories; private operationsMapCache; constructor(getOperations: () => QueryBuilderOperationDef[]); private getOperationsMap; protected setOperationCategories(categories: string[]): void; getOperationsForCategory(category: string): QueryBuilderOperationDef[]; getAlternativeOperations(key: string): QueryBuilderOperationDef[]; getCategories(): string[]; getOperationDef(id: string): QueryBuilderOperationDef | undefined; renderOperations(queryString: string, operations: QueryBuilderOperation[]): string; renderBinaryQueries(queryString: string, binaryQueries?: Array>): string; renderLabels(labels: QueryBuilderLabelFilter[]): string; renderQuery(query: PrometheusVisualQuery, nested?: boolean): string; hasBinaryOp(query: PrometheusVisualQuery): boolean; }