import { Protocol } from "./protocol.js"; import { RemoteFetcher } from "./fetcher.js"; import { URL } from "../../util/url.js"; import { Result } from "../../util/result.js"; export type RemoteFetcherFactory = (proto: Protocol) => RemoteFetcher; export declare function RemoteFetcherFactory(): (proto: Protocol) => RemoteFetcher; /** * Produces a `RemoteFetcher` for the given URL. * Fails for invalid/unknown schemes. * @see {@link Protocol} */ export declare function ForURL(f: RemoteFetcherFactory, url: URL): Result;