/** * Registry source host provider implementations. * * Thin adapters between SourceHostProvider contract and RegistryClient. * Type mapping at the boundary keeps registry and source domains separated. * * @experimental This API is unstable and may change without notice. * @packageDocumentation */ import * as FileSystem from "effect/FileSystem"; import * as Path from "effect/Path"; import * as Effect from "effect/Effect"; import type * as Scope from "effect/Scope"; import { type AppError } from "../../../app-error/index.js"; import type { RegistryClient } from "../../../registry/index.js"; import type { NamedRegistryFindOptions, NamedRegistryResolution, SourceHostProvider, RegistrySource, RegistrySourceHost } from "../../../sources/index.js"; type RegistrySourceHostProvider = SourceHostProvider & { readonly resolveNamed: (source: RegistrySource, options: NamedRegistryFindOptions) => Effect.Effect; }; /** * Creates a local registry source host provider backed by a RegistryClient. * * @experimental This API is unstable and may change without notice. */ export declare const createLocalRegistrySourceHostProvider: (client: RegistryClient) => RegistrySourceHostProvider; /** * Creates a remote registry source host provider backed by a RegistryClient. * * All operations delegate to the underlying RemoteRegistryClient, which * returns errors for all operations (remote not yet supported). * * @experimental This API is unstable and may change without notice. */ export declare const createRemoteRegistrySourceHostProvider: (client: RegistryClient) => RegistrySourceHostProvider; /** * Create a registry source host provider for a given RegistrySourceHost. * * Creates the appropriate RegistryClient internally based on the host's * location protocol, then wraps it in the matching host provider. * * @experimental This API is unstable and may change without notice. */ export declare const createRegistrySourceHostProviderFromHost: (host: RegistrySourceHost) => Effect.Effect, never, Path.Path | FileSystem.FileSystem | import("effect/unstable/http/HttpClient").HttpClient>; export {}; //# sourceMappingURL=host-provider.d.ts.map