/**
 * Tool Registry
 *
 * Centralizes all MCP tools and their schemas.
 */
import { z } from "zod";
import type { WebSocketClient } from "../client/websocket-client.js";
import type { HttpClient } from "../client/http-client.js";
import type { SessionStore } from "../store/session-store.js";
import type { TraceStore } from "../store/trace-store.js";
import type { AuthResult, AuthOptions } from "../client/auth-client.js";
/**
 * Context passed to all tool handlers
 */
export interface DebugContext {
    wsClient: WebSocketClient;
    httpClient: HttpClient;
    sessionStore: SessionStore;
    traceStore: TraceStore;
    /** Authenticate using cascade: explicit token → stored credentials → device auth */
    authenticate: (options?: AuthOptions) => Promise<AuthResult>;
}
/**
 * Tool definition
 */
export interface ToolDefinition {
    name: string;
    description: string;
    schema: z.ZodType<unknown>;
    handler: (args: unknown, ctx: DebugContext) => Promise<string>;
}
/**
 * All available tools
 */
export declare const tools: ToolDefinition[];
/**
 * Get a tool by name
 */
export declare function getTool(name: string): ToolDefinition | undefined;
/**
 * Convert Zod schema to JSON Schema for MCP
 */
export declare function zodToJsonSchema(schema: z.ZodType<unknown>): Record<string, unknown>;
//# sourceMappingURL=index.d.ts.map