/**
 * grafana_query_logs tool
 *
 * Run LogQL queries against any Loki datasource via Grafana's datasource proxy.
 * Handles both log queries (streams) and metric queries (matrix/vector).
 * Mirrors grafana_query structure for consistency.
 */
import type { GrafanaClientRegistry } from "../grafana-client-registry.js";
/** Max number of top-level series returned from a matrix (metric-over-logs) query. */
export declare const MAX_MATRIX_SERIES = 50;
/** Max number of top-level results returned from a vector (instant metric-over-logs) query. */
export declare const MAX_VECTOR_RESULTS = 50;
export declare function createQueryLogsToolFactory(registry: GrafanaClientRegistry): (_ctx: unknown) => {
    name: string;
    label: string;
    description: string;
    parameters: {
        type: "object";
        properties: {
            datasourceUid: {
                type: string;
                description: string;
            };
            expr: {
                type: string;
                description: string;
            };
            dashboardUid: {
                type: string;
                description: string;
            };
            panelId: {
                type: string;
                description: string;
            };
            queryType: {
                type: string;
                enum: string[];
                description: string;
            };
            start: {
                type: string;
                description: string;
            };
            end: {
                type: string;
                description: string;
            };
            step: {
                type: string;
                description: string;
            };
            limit: {
                type: string;
                description: string;
            };
            direction: {
                type: string;
                enum: string[];
                description: string;
            };
            lineLimit: {
                type: string;
                description: string;
            };
            extractFields: {
                type: string;
                description: string;
            };
        };
        required: never[];
    };
    execute(_toolCallId: string, params: Record<string, unknown>): Promise<{
        content: Array<{
            type: "text";
            text: string;
        }>;
        details: unknown;
    }>;
};
