import { ProviderUnion } from '../../shared/provider';
import { Tool } from '../../shared/tool';
import { ToolRepository } from '../tool-repository';
/**
 * An in-memory implementation of the ToolRepository.
 * This repository stores tools and providers in memory and does not persist them.
 */
export declare class InMemToolRepository implements ToolRepository {
    private tools;
    private toolPerProvider;
    saveProviderWithTools(provider: ProviderUnion, tools: Tool[]): Promise<void>;
    removeProvider(providerName: string): Promise<void>;
    removeTool(toolName: string): Promise<void>;
    getTool(toolName: string): Promise<Tool | undefined>;
    getTools(): Promise<Tool[]>;
    getToolsByProvider(providerName: string): Promise<Tool[] | undefined>;
    getProvider(providerName: string): Promise<ProviderUnion | undefined>;
    getProviders(): Promise<ProviderUnion[]>;
}
