import * as Context from "effect/Context";
import * as Effect from "effect/Effect";
import * as Layer from "effect/Layer";
import * as Schema from "effect/Schema";
import * as HttpClient from "effect/unstable/http/HttpClient";
import * as HttpApi from "effect/unstable/httpapi/HttpApi";
import * as HttpApiEndpoint from "effect/unstable/httpapi/HttpApiEndpoint";
import * as HttpApiGroup from "effect/unstable/httpapi/HttpApiGroup";
import { RegistryDistributionInspect } from "../generated/index.ts";
import { DockerError } from "./circular.ts";
import { InternalServerError, NotFound, Unauthorized } from "./errors.ts";
/**
 * @since 1.0.0
 * @category HttpApi
 * @see https://docs.docker.com/reference/api/engine/latest/#tag/Distribution
 */
export declare const DistributionsApi: HttpApi.HttpApi<"distributions", HttpApiGroup.HttpApiGroup<"distributions", HttpApiEndpoint.HttpApiEndpoint<"inspect", "GET", "/distribution/:name/json", Schema.toCodecStringTree<Schema.Struct<{
    name: Schema.String;
}>>, never, never, never, Schema.toCodecJson<typeof RegistryDistributionInspect>, Schema.toCodecJson<typeof Unauthorized | typeof NotFound | typeof InternalServerError>, never, never>, false>>;
declare const Distributions_base: Context.ServiceClass<Distributions, "@the-moby-effect/endpoints/Distributions", {
    inspect: (name: string) => Effect.Effect<RegistryDistributionInspect, DockerError, never>;
}> & {
    readonly make: Effect.Effect<{
        inspect: (name: string) => Effect.Effect<RegistryDistributionInspect, DockerError, never>;
    }, never, HttpClient.HttpClient>;
};
/**
 * @since 1.0.0
 * @category Services
 * @see https://docs.docker.com/reference/api/engine/latest/#tag/Distribution
 */
export declare class Distributions extends Distributions_base {
}
/**
 * @since 1.0.0
 * @category Layers
 * @see https://docs.docker.com/reference/api/engine/latest/#tag/Distribution
 */
export declare const DistributionsLayer: Layer.Layer<Distributions, never, HttpClient.HttpClient>;
/**
 * @since 1.0.0
 * @category Layers
 * @see https://docs.docker.com/reference/api/engine/latest/#tag/Distribution
 */
export declare const DistributionsLayerLocalSocket: Layer.Layer<Distributions, never, HttpClient.HttpClient>;
export {};
//# sourceMappingURL=distribution.d.ts.map