import { CallToolResult } from "../../../../confluent/schema.js"; import { BaseToolHandler, ToolConfig } from "../../../../confluent/tools/base-tools.js"; import { hasTelemetry } from "../../../../confluent/tools/connection-predicates.js"; import { ServerRuntime } from "../../../../server-runtime.js"; export declare class QueryMetricsHandler extends BaseToolHandler { handle(runtime: ServerRuntime, toolArguments: Record): Promise; getToolConfig(): ToolConfig; readonly predicate: typeof hasTelemetry; } /** * Normalises the caller-supplied interval to a "start/end" pair. * Accepts an already-resolved range ("2024-01-01T00:00:00Z/...") unchanged, * an ISO 8601 duration ("PT30M", "P1D"), or undefined (defaults to 1 hour). */ export declare function resolveInterval(interval: string | undefined): string; /** * Returns a copy of `filter` with `resource.kafka.id` trimmed (removing * space-padded values) and, for `io.confluent.kafka.server/*` metrics, * auto-injected from `connKafkaClusterId` when absent. */ export declare function buildEffectiveFilter(filter: Record | undefined, metric: string, connKafkaClusterId: string | undefined): Record; /** * Builds the Telemetry API request body. A single filter entry is sent as a * flat EQ object; multiple entries are wrapped in an AND. Adds group_by and * GROUPED format when group_by is non-empty. */ export declare function buildRequestBody(metric: string, aggregation: string, granularity: string, interval: string, limit: number, effectiveFilter: Record, group_by: string[] | undefined): Record; //# sourceMappingURL=query-metrics-handler.d.ts.map