/** * Higher-order function to wrap SDK methods with performance tracking. * Tracks method calls, timing, chain usage, and errors. * * @param methodName - Name of the method being wrapped * @param method - The original async method * @param getChainId - Function to get current chain ID * @returns Wrapped method with tracking */ export declare function withMethodTracking Promise>(methodName: string, method: T, getChainId?: () => number | undefined): T; /** * Higher-order function to wrap synchronous SDK methods with tracking. * Uses breadcrumbs for tracking since spans require async context. * * @param methodName - Name of the method being wrapped * @param method - The original sync method * @param getChainId - Function to get current chain ID * @returns Wrapped method with tracking */ export declare function withSyncMethodTracking unknown>(methodName: string, method: T, getChainId?: () => number | undefined): T; /** * Instrument all methods on a class instance with tracking. * This auto-wraps all public methods (both async and sync) without boilerplate. * * @param instance - The class instance to instrument * @param getChainId - Function to get current chain ID * @returns The same instance with instrumented methods */ export declare function instrumentClass(instance: T, getChainId: () => number | undefined): T;