import { Tool } from '@modelcontextprotocol/sdk/types.js';
import { TAKServerClient } from '../clients/tak-server';
import { Logger } from 'pino';
export interface ToolContext {
    takClient: TAKServerClient;
    params: any;
    logger: Logger;
}
export interface TAKTool extends Tool {
    handler: (context: ToolContext) => Promise<any>;
    category: 'cot' | 'entities' | 'missions' | 'geospatial' | 'alerts' | 'data-packages';
    requiresAuth?: boolean;
    requiresWrite?: boolean;
}
declare class ToolRegistry {
    private tools;
    constructor();
    registerTool(tool: TAKTool): void;
    getTool(name: string): TAKTool | undefined;
    getAllTools(): TAKTool[];
    getEnabledTools(enabledList?: string[]): Tool[];
    getToolsByCategory(category: string): TAKTool[];
    getReadOnlyTools(): TAKTool[];
}
export declare const toolRegistry: ToolRegistry;
export {};
//# sourceMappingURL=registry.d.ts.map