import { IVaultMetadata } from '../../types'; export declare function fetchVaultWithFallback(vaultAddress: string, fetchFn: () => Promise, options?: { maxRetries?: number; baseDelay?: number; fallbackStrategies?: Array<() => Promise>; timeout?: number; }): Promise<{ success: boolean; data?: T; error?: Error; strategy: string; }>; export declare function fetchVaultsBatch(vaults: Array<{ address: string; fetchFn: () => Promise; }>, options?: { maxRetries?: number; baseDelay?: number; batchSize?: number; parallelLimit?: number; }): Promise<{ successful: Array<{ index: number; data: T; strategy: string; }>; failed: Array<{ index: number; error: Error; address: string; }>; totalAttempted: number; successRate: number; }>; export declare function fetchVaultsComprehensive(vaults: Array<{ address: string; chain: number; }>, fetchFn: (vault: { address: string; chain: number; fallbackRpc?: string; minimal?: boolean; }) => Promise, options?: { maxRetries?: number; baseDelay?: number; batchSize?: number; parallelLimit?: number; includeClosed?: boolean; includeInvisible?: boolean; fallbackRpcUrls?: Record; timeout?: number; }): Promise<{ successful: Array<{ index: number; data: T; strategy: string; attempts: number; }>; failed: Array<{ index: number; error: Error; address: string; chain: number; attempts: number; }>; totalAttempted: number; successRate: number; coverageReport: { totalVaults: number; successfulVaults: number; failedVaults: number; closedVaults: number; invisibleVaults: number; rpcFailures: Record; }; }>; export declare function filterVaultsIntelligently(vaults: (T | null)[], options?: { includeClosed?: boolean; includeInvisible?: boolean; includeNull?: boolean; minStatus?: string[]; }): { active: T[]; closed: T[]; invisible: T[]; failed: Array<{ index: number; reason: string; }>; summary: { total: number; active: number; closed: number; invisible: number; failed: number; successRate: number; }; }; export declare function fetchVaultMetadata(opts?: { options?: { headers?: Record; }; }): Promise;