import { Observable } from 'rxjs';
/**
 * Similar to Promise.race() but only resolves with the first successful promise.
 * It will only reject if all promises reject.
 */
export declare function raceSuccess<T>(promises: Promise<T>[]): Promise<T>;
export declare function dnsResolver(endpoint: string, name: string, type: string): Promise<string>;
export declare function dnsLookup(name: string, type: string, dnsServers?: string[]): Promise<string>;
export declare function fetchContentViaHttp(url: string): Observable<Blob | null>;
export declare function fetchCidContentViaHttp(cid: string, path?: string): Observable<Blob | null>;
export declare function fetchCidContent(cid: string, path?: string): Promise<Blob | null>;
export declare function fetchCidContentAsJson(cid: string, path?: string): Promise<any | null>;
