import { Tool } from '@modelcontextprotocol/sdk/types.js';
import { ToolArgs } from '../utils/validation.js';
import { ApiResponse } from '../utils/formatting.js';
export declare abstract class BaseApi {
    protected abstract baseUrl: string;
    protected abstract apiName: string;
    abstract getTools(): Tool[];
    abstract executeTool(name: string, args: ToolArgs): Promise<ApiResponse>;
    protected makeApiCall(endpoint: string, params?: Record<string, any>): Promise<ApiResponse>;
    protected validateTool(name: string, args: ToolArgs): {
        tool: Tool;
        processedArgs: ToolArgs;
    };
    protected getResultCount(data: ApiResponse): number;
    protected buildStandardParams(args: ToolArgs): Record<string, any>;
}
//# sourceMappingURL=base-api.d.ts.map