import { Tool } from '@modelcontextprotocol/sdk/types.js'; import { Gateway, TatumApiResponse } from '../types.js'; export declare const GATEWAY_TOOLS: Tool[]; export declare class GatewayService { private cachedGateways; private cachedChains; private methodsCache; private dataFetched; private readonly BLOCKCHAINS_URL; private readonly apiKey; constructor(apiKey?: string); /** * Initialize the service by fetching blockchain data from external API */ initialize(): Promise; /** * Get all available blockchain networks */ getAvailableChains(): Promise; /** * Get supported chains as string array */ getSupportedChains(): Promise; /** * Get gateway URL for a specific chain */ getGatewayUrl(chainName: string): Promise; /** * Get available methods for a specific gateway */ getAvailableMethods(gatewayUrl: string): Promise; /** * Execute RPC or REST request to gateway */ executeRequest({ gatewayUrl, method, body }: { gatewayUrl: string; method: string; body?: any; }): Promise; /** * Execute request with intelligent protocol detection based on chain */ executeChainRequest({ chainName, method, params }: { chainName: string; method: string; params?: any[]; }): Promise; /** * Execute JSON-RPC request */ private executeJsonRpcRequest; /** * Execute REST request with chain-specific configuration */ private executeRestRequestWithConfig; /** * Execute REST request (legacy method for backward compatibility) */ private executeRestRequest; /** * Transform external blockchain data to internal Gateway format */ private transformToGateways; /** * Extract all chain names from external blockchain data */ private extractChainNames; /** * Ensure data is loaded before operations */ private ensureDataLoaded; } //# sourceMappingURL=gateway.d.ts.map