import { Tool } from '@modelcontextprotocol/sdk/types.js';
import { ToolArgs } from '../utils/validation.js';
import { ApiResponse } from '../utils/formatting.js';
/**
 * ⚠️ EXPERIMENTAL: Smart Bonding Base API
 *
 * Base class for Smart Bonding API tools with separate authentication system.
 * Uses different OAuth2 endpoint (cloudsso.cisco.com) than standard Support APIs.
 *
 * Status: UNTESTED - Requires Smart Bonding credentials from Cisco Account Manager
 */
export declare abstract class SmartBondingBaseApi {
    protected baseUrl: string;
    protected apiName: string;
    constructor();
    abstract getTools(): Tool[];
    abstract executeTool(name: string, args: ToolArgs, meta?: {
        progressToken?: string;
    }): Promise<ApiResponse>;
    /**
     * Make authenticated API call to Smart Bonding endpoint
     * Supports both GET and POST methods (unlike standard Support APIs)
     */
    protected makeApiCall(endpoint: string, method?: 'GET' | 'POST', body?: any, params?: Record<string, any>, correlationId?: string): Promise<ApiResponse>;
    protected validateTool(name: string, args: ToolArgs): {
        tool: Tool;
        processedArgs: ToolArgs;
    };
    protected getResultCount(data: ApiResponse): number;
}
//# sourceMappingURL=smart-bonding-base-api.d.ts.map