import { ToolEntry, ToolDefinition, ToolContext } from './types';
export declare class PureToolRegistry {
    private _tools;
    private _toolsetChecks;
    private _toolsetAliases;
    private _generation;
    register(entry: ToolEntry): void;
    deregister(name: string): void;
    registerToolsetCheck(toolset: string, checkFn: () => boolean): void;
    registerToolsetAlias(alias: string, target: string): void;
    resolveToolsetAlias(name: string): string;
    isToolsetAvailable(toolset: string): boolean;
    getEntry(name: string): ToolEntry | undefined;
    getAllToolNames(): string[];
    getToolToToolsetMap(): Map<string, string>;
    get generation(): number;
    getDefinitions(toolNames?: Set<string>): ToolDefinition[];
    dispatch(name: string, args: Record<string, any>, context: ToolContext): Promise<string>;
    getAvailableToolsets(): string[];
    getToolsetForTool(name: string): string | undefined;
    getSnapshot(): {
        generation: number;
        toolNames: string[];
    };
}
export declare const registry: PureToolRegistry;
export declare function discoverTools(): void;
export declare function discoverToolsAsync(): Promise<void>;
//# sourceMappingURL=tool-registry.d.ts.map