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 Stream from "effect/Stream";
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 * as HttpApiSchema from "effect/unstable/httpapi/HttpApiSchema";
import { ContainerCreateRequest, ImageDeleteResponse, ImageHistoryResponseItem, ImageInspectResponse, ImageSummary, JSONMessage, RegistrySearchResult } from "../generated/index.ts";
import { DockerError } from "./circular.ts";
import { BadRequest, Conflict, InternalServerError, NotFound } from "./errors.ts";
/** @since 1.0.0 */
export declare const ListFilters: Schema.fromJsonString<Schema.Struct<{
    readonly before: Schema.optional<Schema.$Array<Schema.String>>;
    readonly dangling: Schema.optional<Schema.decodeTo<Schema.Boolean, Schema.Tuple<readonly [Schema.String]>, never, never>>;
    readonly label: Schema.optional<Schema.$Array<Schema.String>>;
    readonly reference: Schema.optional<Schema.$Array<Schema.String>>;
    readonly since: Schema.optional<Schema.$Array<Schema.String>>;
    readonly until: Schema.optional<Schema.decodeTo<Schema.String, Schema.Tuple<readonly [Schema.String]>, never, never>>;
}>>;
/** @since 1.0.0 */
export declare const SearchFilters: Schema.fromJsonString<Schema.Struct<{
    readonly "is-official": Schema.optional<Schema.decodeTo<Schema.Boolean, Schema.Tuple<readonly [Schema.String]>, never, never>>;
    readonly "is-automated": Schema.optional<Schema.decodeTo<Schema.Boolean, Schema.Tuple<readonly [Schema.String]>, never, never>>;
    readonly stars: Schema.optional<Schema.decodeTo<Schema.Number, Schema.Tuple<readonly [Schema.NumberFromString]>, never, never>>;
}>>;
/** @since 1.0.0 */
export declare const BuildPruneFilters: Schema.fromJsonString<Schema.Struct<{
    readonly until: Schema.optional<Schema.decodeTo<Schema.String, Schema.Tuple<readonly [Schema.String]>, never, never>>;
    readonly id: Schema.optional<Schema.$Array<Schema.String>>;
    readonly parent: Schema.optional<Schema.$Array<Schema.String>>;
    readonly type: Schema.optional<Schema.$Array<Schema.String>>;
    readonly description: Schema.optional<Schema.$Array<Schema.String>>;
    readonly inuse: Schema.optional<Schema.decodeTo<Schema.Boolean, Schema.Tuple<readonly [Schema.String]>, never, never>>;
    readonly shared: Schema.optional<Schema.decodeTo<Schema.Boolean, Schema.Tuple<readonly [Schema.String]>, never, never>>;
    readonly private: Schema.optional<Schema.decodeTo<Schema.Boolean, Schema.Tuple<readonly [Schema.String]>, never, never>>;
}>>;
/**
 * @since 1.0.0
 * @category HttpApi
 * @see https://docs.docker.com/reference/api/engine/latest/#tag/Image
 */
export declare const ImagesApi: HttpApi.HttpApi<"ImagesApi", HttpApiGroup.HttpApiGroup<"images", HttpApiEndpoint.HttpApiEndpoint<"build", "POST", "/build", never, Schema.toCodecStringTree<Schema.Struct<{
    dockerfile: Schema.optional<Schema.String>;
    t: Schema.optional<Schema.String>;
    extrahosts: Schema.optional<Schema.String>;
    remote: Schema.optional<Schema.String>;
    q: Schema.optional<Schema.Boolean>;
    nocache: Schema.optional<Schema.Boolean>;
    cachefrom: Schema.optional<Schema.String>;
    pull: Schema.optional<Schema.String>;
    rm: Schema.optional<Schema.Boolean>;
    forcerm: Schema.optional<Schema.Boolean>;
    memory: Schema.optional<Schema.Number>;
    memswap: Schema.optional<Schema.Number>;
    cpushares: Schema.optional<Schema.Number>;
    cpusetcpus: Schema.optional<Schema.String>;
    cpuperiod: Schema.optional<Schema.Number>;
    cpuquota: Schema.optional<Schema.Number>;
    buildargs: Schema.optional<Schema.fromJsonString<Schema.$Record<Schema.String, Schema.NullishOr<Schema.String>>>>;
    shmsize: Schema.optional<Schema.Number>;
    squash: Schema.optional<Schema.Boolean>;
    labels: Schema.optional<Schema.String>;
    networkmode: Schema.optional<Schema.String>;
    platform: Schema.optional<Schema.String>;
    target: Schema.optional<Schema.String>;
    outputs: Schema.optional<Schema.String>;
    version: Schema.optional<Schema.Literal<"1">>;
}>>, Schema.toCodecJson<HttpApiSchema.StreamUint8Array>, Schema.toCodecStringTree<Schema.Struct<{
    "Content-type": Schema.optional<Schema.String>;
    "X-Registry-Config": Schema.optional<Schema.String>;
}>>, HttpApiSchema.StreamUint8Array, Schema.toCodecJson<typeof BadRequest | typeof InternalServerError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"buildPrune", "POST", "/build/prune", never, Schema.toCodecStringTree<Schema.Struct<{
    "keep-storage": Schema.optional<Schema.Number>;
    all: Schema.optional<Schema.Boolean>;
    filters: Schema.optional<Schema.fromJsonString<Schema.Struct<{
        readonly until: Schema.optional<Schema.decodeTo<Schema.String, Schema.Tuple<readonly [Schema.String]>, never, never>>;
        readonly id: Schema.optional<Schema.$Array<Schema.String>>;
        readonly parent: Schema.optional<Schema.$Array<Schema.String>>;
        readonly type: Schema.optional<Schema.$Array<Schema.String>>;
        readonly description: Schema.optional<Schema.$Array<Schema.String>>;
        readonly inuse: Schema.optional<Schema.decodeTo<Schema.Boolean, Schema.Tuple<readonly [Schema.String]>, never, never>>;
        readonly shared: Schema.optional<Schema.decodeTo<Schema.Boolean, Schema.Tuple<readonly [Schema.String]>, never, never>>;
        readonly private: Schema.optional<Schema.decodeTo<Schema.Boolean, Schema.Tuple<readonly [Schema.String]>, never, never>>;
    }>>>;
}>>, never, never, Schema.toCodecJson<Schema.Struct<{
    readonly SpaceReclaimed: Schema.BigIntFromString;
    readonly CachesDeleted: Schema.NullishOr<Schema.$Array<Schema.String>>;
}>>, Schema.toCodecJson<typeof InternalServerError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"commit", "POST", "/images/commit", never, Schema.toCodecStringTree<Schema.Struct<{
    container: Schema.String;
    repo: Schema.optional<Schema.String>;
    tag: Schema.optional<Schema.String>;
    comment: Schema.optional<Schema.String>;
    author: Schema.optional<Schema.String>;
    pause: Schema.optional<Schema.Boolean>;
    changes: Schema.optional<Schema.String>;
}>>, Schema.toCodecJson<typeof ContainerCreateRequest>, never, Schema.toCodecJson<Schema.decodeTo<Schema.declareConstructor<ImageInspectResponse, {
    readonly Id: string;
    readonly RepoTags: readonly string[] | null;
    readonly RepoDigests: readonly string[] | null;
    readonly Parent?: string | undefined;
    readonly Comment: string;
    readonly Created?: string | undefined;
    readonly Container?: string | undefined;
    readonly ContainerConfig?: {
        readonly Hostname: string;
        readonly Domainname: string;
        readonly User: string;
        readonly AttachStdin: boolean;
        readonly AttachStdout: boolean;
        readonly AttachStderr: boolean;
        readonly ExposedPorts?: {
            readonly [x: `${number}`]: object;
            readonly [x: `${number}/tcp`]: object;
            readonly [x: `${number}/udp`]: object;
        } | null | undefined;
        readonly Tty: boolean;
        readonly OpenStdin: boolean;
        readonly StdinOnce: boolean;
        readonly Env: readonly string[] | null;
        readonly Cmd: readonly string[] | null;
        readonly Healthcheck?: {
            readonly Test?: readonly string[] | null | undefined;
            readonly Interval?: string | undefined;
            readonly Timeout?: string | undefined;
            readonly StartPeriod?: string | undefined;
            readonly StartInterval?: string | undefined;
            readonly Retries?: string | undefined;
        } | null | undefined;
        readonly ArgsEscaped?: boolean | undefined;
        readonly Image: string;
        readonly Volumes: {
            readonly [x: string]: object;
        } | null;
        readonly WorkingDir: string;
        readonly Entrypoint: readonly string[] | null;
        readonly NetworkDisabled?: boolean | undefined;
        readonly MacAddress?: string | undefined;
        readonly OnBuild?: readonly string[] | null | undefined;
        readonly Labels: {
            readonly [x: string]: string;
        } | null;
        readonly StopSignal?: string | undefined;
        readonly StopTimeout?: string | null | undefined;
        readonly Shell?: readonly string[] | null | undefined;
    } | null | undefined;
    readonly DockerVersion?: string | undefined;
    readonly Author?: string | undefined;
    readonly Config: {
        readonly User?: string | undefined;
        readonly ExposedPorts?: {
            readonly [x: string]: object;
        } | null | undefined;
        readonly Env?: readonly string[] | null | undefined;
        readonly Entrypoint?: readonly string[] | null | undefined;
        readonly Cmd?: readonly string[] | null | undefined;
        readonly Volumes?: {
            readonly [x: string]: object;
        } | null | undefined;
        readonly WorkingDir?: string | undefined;
        readonly Labels?: {
            readonly [x: string]: string;
        } | null | undefined;
        readonly StopSignal?: string | undefined;
        readonly ArgsEscaped?: boolean | undefined;
        readonly Healthcheck?: {
            readonly Test?: readonly string[] | null | undefined;
            readonly Interval?: string | undefined;
            readonly Timeout?: string | undefined;
            readonly StartPeriod?: string | undefined;
            readonly StartInterval?: string | undefined;
            readonly Retries?: string | undefined;
        } | null | undefined;
        readonly OnBuild?: readonly string[] | null | undefined;
        readonly Shell?: readonly string[] | null | undefined;
    } | null;
    readonly Architecture: string;
    readonly Variant?: string | undefined;
    readonly Os: string;
    readonly OsVersion?: string | undefined;
    readonly Size: string;
    readonly VirtualSize?: string | undefined;
    readonly GraphDriver?: {
        readonly Data: {
            readonly [x: string]: string;
        } | null;
        readonly Name: string;
    } | null | undefined;
    readonly RootFS: {
        readonly Type?: string | undefined;
        readonly Layers?: readonly string[] | null | undefined;
    } | null;
    readonly Metadata: {
        readonly LastTagTime?: string | null | undefined;
    } | null;
    readonly Descriptor?: {
        readonly mediaType: string;
        readonly digest: string;
        readonly size: string;
        readonly urls?: readonly string[] | null | undefined;
        readonly annotations?: {
            readonly [x: string]: string;
        } | null | undefined;
        readonly data?: string | null | undefined;
        readonly platform?: {
            readonly architecture: string;
            readonly os: string;
            readonly "os.version"?: string | undefined;
            readonly "os.features"?: readonly string[] | null | undefined;
            readonly variant?: string | undefined;
        } | null | undefined;
        readonly artifactType?: string | undefined;
    } | null | undefined;
    readonly Manifests?: readonly ({
        readonly ID: string;
        readonly Descriptor: {
            readonly mediaType: string;
            readonly digest: string;
            readonly size: string;
            readonly urls?: readonly string[] | null | undefined;
            readonly annotations?: {
                readonly [x: string]: string;
            } | null | undefined;
            readonly data?: string | null | undefined;
            readonly platform?: {
                readonly architecture: string;
                readonly os: string;
                readonly "os.version"?: string | undefined;
                readonly "os.features"?: readonly string[] | null | undefined;
                readonly variant?: string | undefined;
            } | null | undefined;
            readonly artifactType?: string | undefined;
        } | null;
        readonly Available: boolean;
        readonly Size: {
            readonly Content: string;
            readonly Total: string;
        };
        readonly Kind: "attestation" | "image" | "unknown";
        readonly ImageData?: {
            readonly Platform: {
                readonly architecture: string;
                readonly os: string;
                readonly "os.version"?: string | undefined;
                readonly "os.features"?: readonly string[] | null | undefined;
                readonly variant?: string | undefined;
            } | null;
            readonly Size: {
                readonly Unpacked: string;
            };
            readonly Containers: readonly string[] | null;
        } | null | undefined;
        readonly AttestationData?: {
            readonly For: string;
        } | null | undefined;
    } | null)[] | null | undefined;
}, readonly [Schema.Struct<{
    readonly Id: Schema.brand<Schema.String, "ImageId">;
    readonly RepoTags: Schema.NullOr<Schema.$Array<Schema.String>>;
    readonly RepoDigests: Schema.NullOr<Schema.$Array<Schema.brand<Schema.String, "Digest">>>;
    readonly Parent: Schema.optional<Schema.String>;
    readonly Comment: Schema.String;
    readonly Created: Schema.optional<Schema.String>;
    readonly Container: Schema.optional<Schema.String>;
    readonly ContainerConfig: Schema.optional<Schema.NullOr<typeof import("../generated/ContainerConfig.generated.ts").ContainerConfig>>;
    readonly DockerVersion: Schema.optional<Schema.String>;
    readonly Author: Schema.optional<Schema.String>;
    readonly Config: Schema.NullOr<typeof import("../generated/V1DockerOCIImageConfig.generated.ts").V1DockerOCIImageConfig>;
    readonly Architecture: Schema.String;
    readonly Variant: Schema.optional<Schema.String>;
    readonly Os: Schema.String;
    readonly OsVersion: Schema.optional<Schema.String>;
    readonly Size: Schema.decodeTo<Schema.BigInt, Schema.String, never, never>;
    readonly VirtualSize: Schema.optional<Schema.decodeTo<Schema.BigInt, Schema.String, never, never>>;
    readonly GraphDriver: Schema.optional<Schema.NullOr<typeof import("../generated/StorageDriverData.generated.ts").StorageDriverData>>;
    readonly RootFS: Schema.NullOr<typeof import("../generated/ImageRootFS.generated.ts").ImageRootFS>;
    readonly Metadata: Schema.NullOr<typeof import("../generated/ImageMetadata.generated.ts").ImageMetadata>;
    readonly Descriptor: Schema.optional<Schema.NullOr<typeof import("../generated/V1Descriptor.generated.ts").V1Descriptor>>;
    readonly Manifests: Schema.optional<Schema.NullOr<Schema.$Array<Schema.NullOr<typeof import("../generated/ImageManifestSummary.generated.ts").ImageManifestSummary>>>>;
}>], {
    readonly Id: string & import("effect/Brand").Brand<"ImageId">;
    readonly RepoTags: readonly string[] | null;
    readonly RepoDigests: readonly (string & import("effect/Brand").Brand<"Digest">)[] | null;
    readonly Parent?: string | undefined;
    readonly Comment: string;
    readonly Created?: string | undefined;
    readonly Container?: string | undefined;
    readonly ContainerConfig?: {
        readonly Hostname: string;
        readonly Domainname: string;
        readonly User: string;
        readonly AttachStdin: boolean;
        readonly AttachStdout: boolean;
        readonly AttachStderr: boolean;
        readonly ExposedPorts?: {
            readonly [x: `${number}`]: object;
            readonly [x: `${number}/tcp`]: object;
            readonly [x: `${number}/udp`]: object;
        } | null | undefined;
        readonly Tty: boolean;
        readonly OpenStdin: boolean;
        readonly StdinOnce: boolean;
        readonly Env: readonly string[] | null;
        readonly Cmd: readonly string[] | null;
        readonly Healthcheck?: {
            readonly Test?: readonly string[] | null | undefined;
            readonly Interval?: bigint | undefined;
            readonly Timeout?: bigint | undefined;
            readonly StartPeriod?: bigint | undefined;
            readonly StartInterval?: bigint | undefined;
            readonly Retries?: bigint | undefined;
        } | null | undefined;
        readonly ArgsEscaped?: boolean | undefined;
        readonly Image: string;
        readonly Volumes: {
            readonly [x: string]: object;
        } | null;
        readonly WorkingDir: string;
        readonly Entrypoint: readonly string[] | null;
        readonly NetworkDisabled?: boolean | undefined;
        readonly MacAddress?: string | undefined;
        readonly OnBuild?: readonly string[] | null | undefined;
        readonly Labels: {
            readonly [x: string]: string;
        } | null;
        readonly StopSignal?: string | undefined;
        readonly StopTimeout?: bigint | null | undefined;
        readonly Shell?: readonly string[] | null | undefined;
    } | null | undefined;
    readonly DockerVersion?: string | undefined;
    readonly Author?: string | undefined;
    readonly Config: {
        readonly User?: string | undefined;
        readonly ExposedPorts?: {
            readonly [x: string]: object;
        } | null | undefined;
        readonly Env?: readonly string[] | null | undefined;
        readonly Entrypoint?: readonly string[] | null | undefined;
        readonly Cmd?: readonly string[] | null | undefined;
        readonly Volumes?: {
            readonly [x: string]: object;
        } | null | undefined;
        readonly WorkingDir?: string | undefined;
        readonly Labels?: {
            readonly [x: string]: string;
        } | null | undefined;
        readonly StopSignal?: string | undefined;
        readonly ArgsEscaped?: boolean | undefined;
        readonly Healthcheck?: {
            readonly Test?: readonly string[] | null | undefined;
            readonly Interval?: bigint | undefined;
            readonly Timeout?: bigint | undefined;
            readonly StartPeriod?: bigint | undefined;
            readonly StartInterval?: bigint | undefined;
            readonly Retries?: bigint | undefined;
        } | null | undefined;
        readonly OnBuild?: readonly string[] | null | undefined;
        readonly Shell?: readonly string[] | null | undefined;
    } | null;
    readonly Architecture: string;
    readonly Variant?: string | undefined;
    readonly Os: string;
    readonly OsVersion?: string | undefined;
    readonly Size: bigint;
    readonly VirtualSize?: bigint | undefined;
    readonly GraphDriver?: {
        readonly Data: {
            readonly [x: string]: string;
        } | null;
        readonly Name: string;
    } | null | undefined;
    readonly RootFS: {
        readonly Type?: string | undefined;
        readonly Layers?: readonly string[] | null | undefined;
    } | null;
    readonly Metadata: {
        readonly LastTagTime?: Date | null | undefined;
    } | null;
    readonly Descriptor?: {
        readonly mediaType: string;
        readonly digest: string & import("effect/Brand").Brand<"Digest">;
        readonly size: bigint;
        readonly urls?: readonly string[] | null | undefined;
        readonly annotations?: {
            readonly [x: string]: string;
        } | null | undefined;
        readonly data?: Uint8Array<ArrayBufferLike> | null | undefined;
        readonly platform?: {
            readonly architecture: string;
            readonly os: string;
            readonly "os.version"?: string | undefined;
            readonly "os.features"?: readonly string[] | null | undefined;
            readonly variant?: string | undefined;
        } | null | undefined;
        readonly artifactType?: string | undefined;
    } | null | undefined;
    readonly Manifests?: readonly ({
        readonly ID: string;
        readonly Descriptor: {
            readonly mediaType: string;
            readonly digest: string & import("effect/Brand").Brand<"Digest">;
            readonly size: bigint;
            readonly urls?: readonly string[] | null | undefined;
            readonly annotations?: {
                readonly [x: string]: string;
            } | null | undefined;
            readonly data?: Uint8Array<ArrayBufferLike> | null | undefined;
            readonly platform?: {
                readonly architecture: string;
                readonly os: string;
                readonly "os.version"?: string | undefined;
                readonly "os.features"?: readonly string[] | null | undefined;
                readonly variant?: string | undefined;
            } | null | undefined;
            readonly artifactType?: string | undefined;
        } | null;
        readonly Available: boolean;
        readonly Size: {
            readonly Content: bigint;
            readonly Total: bigint;
        };
        readonly Kind: "attestation" | "image" | "unknown";
        readonly ImageData?: {
            readonly Platform: {
                readonly architecture: string;
                readonly os: string;
                readonly "os.version"?: string | undefined;
                readonly "os.features"?: readonly string[] | null | undefined;
                readonly variant?: string | undefined;
            } | null;
            readonly Size: {
                readonly Unpacked: bigint;
            };
            readonly Containers: readonly string[] | null;
        } | null | undefined;
        readonly AttestationData?: {
            readonly For: string & import("effect/Brand").Brand<"Digest">;
        } | null | undefined;
    } | null)[] | null | undefined;
}>, Schema.Struct<{
    readonly Id: Schema.brand<Schema.String, "ImageId">;
    readonly RepoTags: Schema.NullOr<Schema.$Array<Schema.String>>;
    readonly RepoDigests: Schema.NullOr<Schema.$Array<Schema.brand<Schema.String, "Digest">>>;
    readonly Parent: Schema.optional<Schema.String>;
    readonly Comment: Schema.String;
    readonly Created: Schema.optional<Schema.String>;
    readonly Container: Schema.optional<Schema.String>;
    readonly ContainerConfig: Schema.optional<Schema.NullOr<typeof import("../generated/ContainerConfig.generated.ts").ContainerConfig>>;
    readonly DockerVersion: Schema.optional<Schema.String>;
    readonly Author: Schema.optional<Schema.String>;
    readonly Config: Schema.NullOr<typeof import("../generated/V1DockerOCIImageConfig.generated.ts").V1DockerOCIImageConfig>;
    readonly Architecture: Schema.String;
    readonly Variant: Schema.optional<Schema.String>;
    readonly Os: Schema.String;
    readonly OsVersion: Schema.optional<Schema.String>;
    readonly Size: Schema.decodeTo<Schema.BigInt, Schema.String, never, never>;
    readonly VirtualSize: Schema.optional<Schema.decodeTo<Schema.BigInt, Schema.String, never, never>>;
    readonly GraphDriver: Schema.optional<Schema.NullOr<typeof import("../generated/StorageDriverData.generated.ts").StorageDriverData>>;
    readonly RootFS: Schema.NullOr<typeof import("../generated/ImageRootFS.generated.ts").ImageRootFS>;
    readonly Metadata: Schema.NullOr<typeof import("../generated/ImageMetadata.generated.ts").ImageMetadata>;
    readonly Descriptor: Schema.optional<Schema.NullOr<typeof import("../generated/V1Descriptor.generated.ts").V1Descriptor>>;
    readonly Manifests: Schema.optional<Schema.NullOr<Schema.$Array<Schema.NullOr<typeof import("../generated/ImageManifestSummary.generated.ts").ImageManifestSummary>>>>;
}>, never, never>>, Schema.toCodecJson<typeof NotFound | typeof InternalServerError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"create", "POST", "/images/create", never, Schema.toCodecStringTree<Schema.Struct<{
    fromImage: Schema.optional<Schema.String>;
    fromSrc: Schema.optional<Schema.String>;
    repo: Schema.optional<Schema.String>;
    tag: Schema.optional<Schema.String>;
    message: Schema.optional<Schema.String>;
    changes: Schema.optional<Schema.String>;
    platform: Schema.optional<Schema.String>;
}>>, never, Schema.toCodecStringTree<Schema.Struct<{
    "X-Registry-Auth": Schema.optional<Schema.String>;
}>>, HttpApiSchema.StreamUint8Array, Schema.toCodecJson<typeof NotFound | typeof InternalServerError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"delete", "DELETE", "/images/:name", Schema.toCodecStringTree<Schema.Struct<{
    name: Schema.String;
}>>, Schema.toCodecStringTree<Schema.Struct<{
    force: Schema.optional<Schema.Boolean>;
    noprune: Schema.optional<Schema.Boolean>;
    platforms: Schema.optional<Schema.$Array<Schema.String>>;
}>>, never, never, Schema.toCodecJson<Schema.$Array<typeof ImageDeleteResponse>>, Schema.toCodecJson<typeof NotFound | typeof Conflict | typeof InternalServerError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"export", "GET", "/images/:name/get", Schema.toCodecStringTree<Schema.Struct<{
    name: Schema.String;
}>>, Schema.toCodecStringTree<Schema.Struct<{
    platform: Schema.optional<Schema.String>;
}>>, never, never, HttpApiSchema.StreamUint8Array, Schema.toCodecJson<typeof NotFound | typeof InternalServerError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"exportMany", "GET", "/images/get", never, Schema.toCodecStringTree<Schema.Struct<{
    names: Schema.optional<Schema.String>;
    platform: Schema.optional<Schema.String>;
}>>, never, never, HttpApiSchema.StreamUint8Array, Schema.toCodecJson<typeof NotFound | typeof InternalServerError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"history", "GET", "/images/:name/history", Schema.toCodecStringTree<Schema.Struct<{
    name: Schema.String;
}>>, Schema.toCodecStringTree<Schema.Struct<{
    platform: Schema.optional<Schema.String>;
}>>, never, never, Schema.toCodecJson<Schema.$Array<typeof ImageHistoryResponseItem>>, Schema.toCodecJson<typeof NotFound | typeof InternalServerError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"import", "POST", "/images/load", never, Schema.toCodecStringTree<Schema.Struct<{
    platform: Schema.optional<Schema.String>;
    quiet: Schema.optional<Schema.Boolean>;
}>>, Schema.toCodecJson<HttpApiSchema.StreamUint8Array>, never, HttpApiSchema.StreamUint8Array, Schema.toCodecJson<typeof BadRequest | typeof InternalServerError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"inspect", "GET", "/images/:name/json", Schema.toCodecStringTree<Schema.Struct<{
    name: Schema.String;
}>>, Schema.toCodecStringTree<Schema.Struct<{
    manifests: Schema.optional<Schema.Boolean>;
}>>, never, never, Schema.toCodecJson<typeof ImageInspectResponse>, Schema.toCodecJson<typeof NotFound | typeof InternalServerError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"list", "GET", "/images/json", never, Schema.toCodecStringTree<Schema.Struct<{
    filters: Schema.optional<Schema.fromJsonString<Schema.Struct<{
        readonly before: Schema.optional<Schema.$Array<Schema.String>>;
        readonly dangling: Schema.optional<Schema.decodeTo<Schema.Boolean, Schema.Tuple<readonly [Schema.String]>, never, never>>;
        readonly label: Schema.optional<Schema.$Array<Schema.String>>;
        readonly reference: Schema.optional<Schema.$Array<Schema.String>>;
        readonly since: Schema.optional<Schema.$Array<Schema.String>>;
        readonly until: Schema.optional<Schema.decodeTo<Schema.String, Schema.Tuple<readonly [Schema.String]>, never, never>>;
    }>>>;
    all: Schema.optional<Schema.Boolean>;
    digests: Schema.optional<Schema.Boolean>;
    "shared-size": Schema.optional<Schema.Boolean>;
}>>, never, never, Schema.toCodecJson<Schema.$Array<typeof ImageSummary>>, Schema.toCodecJson<typeof InternalServerError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"prune", "POST", "/images/prune", never, Schema.toCodecStringTree<Schema.Struct<{
    filters: Schema.optional<Schema.String>;
}>>, never, never, Schema.toCodecJson<Schema.Struct<{
    readonly SpaceReclaimed: Schema.BigIntFromString;
    readonly ImagesDeleted: Schema.NullishOr<Schema.$Array<typeof ImageDeleteResponse>>;
}>>, Schema.toCodecJson<typeof InternalServerError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"push", "POST", "/images/:name/push", Schema.toCodecStringTree<Schema.Struct<{
    name: Schema.String;
}>>, Schema.toCodecStringTree<Schema.Struct<{
    tag: Schema.optional<Schema.String>;
    platform: Schema.optional<Schema.String>;
}>>, never, Schema.toCodecStringTree<Schema.Struct<{
    "X-Registry-Auth": Schema.optional<Schema.String>;
}>>, HttpApiSchema.StreamUint8Array, Schema.toCodecJson<typeof NotFound | typeof InternalServerError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"search", "GET", "/images/search", never, Schema.toCodecStringTree<Schema.Struct<{
    term: Schema.String;
    limit: Schema.optional<Schema.Number>;
    filters: Schema.optional<Schema.fromJsonString<Schema.Struct<{
        readonly "is-official": Schema.optional<Schema.decodeTo<Schema.Boolean, Schema.Tuple<readonly [Schema.String]>, never, never>>;
        readonly "is-automated": Schema.optional<Schema.decodeTo<Schema.Boolean, Schema.Tuple<readonly [Schema.String]>, never, never>>;
        readonly stars: Schema.optional<Schema.decodeTo<Schema.Number, Schema.Tuple<readonly [Schema.NumberFromString]>, never, never>>;
    }>>>;
}>>, never, never, Schema.toCodecJson<Schema.$Array<typeof RegistrySearchResult>>, Schema.toCodecJson<typeof InternalServerError>, never, never> | HttpApiEndpoint.HttpApiEndpoint<"tag", "POST", "/images/:name/tag", Schema.toCodecStringTree<Schema.Struct<{
    name: Schema.String;
}>>, Schema.toCodecStringTree<Schema.Struct<{
    repo: Schema.optional<Schema.String>;
    tag: Schema.optional<Schema.String>;
}>>, never, never, Schema.toCodecJson<Schema.Void>, Schema.toCodecJson<typeof BadRequest | typeof NotFound | typeof Conflict | typeof InternalServerError>, never, never>, false>>;
declare const Images_base: Context.ServiceClass<Images, "@the-moby-effect/endpoints/Images", {
    list: (options?: {
        readonly filters?: {
            readonly before?: readonly string[] | undefined;
            readonly dangling?: boolean | undefined;
            readonly label?: readonly string[] | undefined;
            readonly reference?: readonly string[] | undefined;
            readonly since?: readonly string[] | undefined;
            readonly until?: string | undefined;
        } | undefined;
        readonly all?: boolean | undefined;
        readonly digests?: boolean | undefined;
        readonly "shared-size"?: boolean | undefined;
    }) => Effect.Effect<readonly ImageSummary[], DockerError, never>;
    build: <E, R>(build: Stream.Stream<Uint8Array, E, R>, options?: {
        readonly dockerfile?: string | undefined;
        readonly t?: string | undefined;
        readonly extrahosts?: string | undefined;
        readonly remote?: string | undefined;
        readonly q?: boolean | undefined;
        readonly nocache?: boolean | undefined;
        readonly cachefrom?: string | undefined;
        readonly pull?: string | undefined;
        readonly rm?: boolean | undefined;
        readonly forcerm?: boolean | undefined;
        readonly memory?: number | undefined;
        readonly memswap?: number | undefined;
        readonly cpushares?: number | undefined;
        readonly cpusetcpus?: string | undefined;
        readonly cpuperiod?: number | undefined;
        readonly cpuquota?: number | undefined;
        readonly buildargs?: {
            readonly [x: string]: string | null | undefined;
        } | undefined;
        readonly shmsize?: number | undefined;
        readonly squash?: boolean | undefined;
        readonly labels?: string | undefined;
        readonly networkmode?: string | undefined;
        readonly platform?: string | undefined;
        readonly target?: string | undefined;
        readonly outputs?: string | undefined;
        readonly version?: "1" | undefined;
    }) => Stream.Stream<JSONMessage, DockerError, Exclude<R, import("effect/Scope").Scope>>;
    buildPrune: (options?: {
        readonly "keep-storage"?: number | undefined;
        readonly all?: boolean | undefined;
        readonly filters?: {
            readonly until?: string | undefined;
            readonly id?: readonly string[] | undefined;
            readonly parent?: readonly string[] | undefined;
            readonly type?: readonly string[] | undefined;
            readonly description?: readonly string[] | undefined;
            readonly inuse?: boolean | undefined;
            readonly shared?: boolean | undefined;
            readonly private?: boolean | undefined;
        } | undefined;
    }) => Effect.Effect<{
        readonly SpaceReclaimed: bigint;
        readonly CachesDeleted: readonly string[] | null | undefined;
    }, DockerError, never>;
    create: (options?: {
        readonly fromImage?: string | undefined;
        readonly fromSrc?: string | undefined;
        readonly repo?: string | undefined;
        readonly tag?: string | undefined;
        readonly message?: string | undefined;
        readonly changes?: string | undefined;
        readonly platform?: string | undefined;
    }) => Stream.Stream<JSONMessage, DockerError, never>;
    inspect: (name: string, options?: {
        readonly manifests?: boolean | undefined;
    }) => Effect.Effect<ImageInspectResponse, DockerError, never>;
    history: (name: string, options?: {
        readonly platform?: string | undefined;
    }) => Effect.Effect<readonly ImageHistoryResponseItem[], DockerError, never>;
    push: (name: string, options?: {
        readonly tag?: string | undefined;
        readonly platform?: string | undefined;
    }) => Stream.Stream<JSONMessage, DockerError, never>;
    tag: (name: string, options?: {
        readonly repo?: string | undefined;
        readonly tag?: string | undefined;
    }) => Effect.Effect<void, DockerError, never>;
    delete: (name: string, options?: {
        readonly force?: boolean | undefined;
        readonly noprune?: boolean | undefined;
        readonly platforms?: readonly string[] | undefined;
    }) => Effect.Effect<readonly ImageDeleteResponse[], DockerError, never>;
    search: (options: {
        readonly term: string;
        readonly limit?: number | undefined;
        readonly filters?: {
            readonly "is-official"?: boolean | undefined;
            readonly "is-automated"?: boolean | undefined;
            readonly stars?: number | undefined;
        } | undefined;
    }) => Effect.Effect<readonly RegistrySearchResult[], DockerError, never>;
    prune: (options?: {
        readonly filters?: string | undefined;
    }) => Effect.Effect<{
        readonly SpaceReclaimed: bigint;
        readonly ImagesDeleted: readonly ImageDeleteResponse[] | null | undefined;
    }, DockerError, never>;
    commit: (payload: (typeof ContainerCreateRequest)["~type.make.in"], options: {
        readonly container: string;
        readonly repo?: string | undefined;
        readonly tag?: string | undefined;
        readonly comment?: string | undefined;
        readonly author?: string | undefined;
        readonly pause?: boolean | undefined;
        readonly changes?: string | undefined;
    }) => Effect.Effect<ImageInspectResponse, DockerError, never>;
    export: (name: string, options?: {
        readonly platform?: string | undefined;
    }) => Stream.Stream<JSONMessage, DockerError, never>;
    exportMany: (options?: {
        readonly names?: string | undefined;
        readonly platform?: string | undefined;
    }) => Stream.Stream<JSONMessage, DockerError, never>;
    import: <E, R>(build: Stream.Stream<Uint8Array, E, R>, options?: {
        readonly platform?: string | undefined;
        readonly quiet?: boolean | undefined;
    }) => Stream.Stream<JSONMessage, DockerError, Exclude<R, import("effect/Scope").Scope>>;
}> & {
    readonly make: Effect.Effect<{
        list: (options?: {
            readonly filters?: {
                readonly before?: readonly string[] | undefined;
                readonly dangling?: boolean | undefined;
                readonly label?: readonly string[] | undefined;
                readonly reference?: readonly string[] | undefined;
                readonly since?: readonly string[] | undefined;
                readonly until?: string | undefined;
            } | undefined;
            readonly all?: boolean | undefined;
            readonly digests?: boolean | undefined;
            readonly "shared-size"?: boolean | undefined;
        }) => Effect.Effect<readonly ImageSummary[], DockerError, never>;
        build: <E, R>(build: Stream.Stream<Uint8Array, E, R>, options?: {
            readonly dockerfile?: string | undefined;
            readonly t?: string | undefined;
            readonly extrahosts?: string | undefined;
            readonly remote?: string | undefined;
            readonly q?: boolean | undefined;
            readonly nocache?: boolean | undefined;
            readonly cachefrom?: string | undefined;
            readonly pull?: string | undefined;
            readonly rm?: boolean | undefined;
            readonly forcerm?: boolean | undefined;
            readonly memory?: number | undefined;
            readonly memswap?: number | undefined;
            readonly cpushares?: number | undefined;
            readonly cpusetcpus?: string | undefined;
            readonly cpuperiod?: number | undefined;
            readonly cpuquota?: number | undefined;
            readonly buildargs?: {
                readonly [x: string]: string | null | undefined;
            } | undefined;
            readonly shmsize?: number | undefined;
            readonly squash?: boolean | undefined;
            readonly labels?: string | undefined;
            readonly networkmode?: string | undefined;
            readonly platform?: string | undefined;
            readonly target?: string | undefined;
            readonly outputs?: string | undefined;
            readonly version?: "1" | undefined;
        }) => Stream.Stream<JSONMessage, DockerError, Exclude<R, import("effect/Scope").Scope>>;
        buildPrune: (options?: {
            readonly "keep-storage"?: number | undefined;
            readonly all?: boolean | undefined;
            readonly filters?: {
                readonly until?: string | undefined;
                readonly id?: readonly string[] | undefined;
                readonly parent?: readonly string[] | undefined;
                readonly type?: readonly string[] | undefined;
                readonly description?: readonly string[] | undefined;
                readonly inuse?: boolean | undefined;
                readonly shared?: boolean | undefined;
                readonly private?: boolean | undefined;
            } | undefined;
        }) => Effect.Effect<{
            readonly SpaceReclaimed: bigint;
            readonly CachesDeleted: readonly string[] | null | undefined;
        }, DockerError, never>;
        create: (options?: {
            readonly fromImage?: string | undefined;
            readonly fromSrc?: string | undefined;
            readonly repo?: string | undefined;
            readonly tag?: string | undefined;
            readonly message?: string | undefined;
            readonly changes?: string | undefined;
            readonly platform?: string | undefined;
        }) => Stream.Stream<JSONMessage, DockerError, never>;
        inspect: (name: string, options?: {
            readonly manifests?: boolean | undefined;
        }) => Effect.Effect<ImageInspectResponse, DockerError, never>;
        history: (name: string, options?: {
            readonly platform?: string | undefined;
        }) => Effect.Effect<readonly ImageHistoryResponseItem[], DockerError, never>;
        push: (name: string, options?: {
            readonly tag?: string | undefined;
            readonly platform?: string | undefined;
        }) => Stream.Stream<JSONMessage, DockerError, never>;
        tag: (name: string, options?: {
            readonly repo?: string | undefined;
            readonly tag?: string | undefined;
        }) => Effect.Effect<void, DockerError, never>;
        delete: (name: string, options?: {
            readonly force?: boolean | undefined;
            readonly noprune?: boolean | undefined;
            readonly platforms?: readonly string[] | undefined;
        }) => Effect.Effect<readonly ImageDeleteResponse[], DockerError, never>;
        search: (options: {
            readonly term: string;
            readonly limit?: number | undefined;
            readonly filters?: {
                readonly "is-official"?: boolean | undefined;
                readonly "is-automated"?: boolean | undefined;
                readonly stars?: number | undefined;
            } | undefined;
        }) => Effect.Effect<readonly RegistrySearchResult[], DockerError, never>;
        prune: (options?: {
            readonly filters?: string | undefined;
        }) => Effect.Effect<{
            readonly SpaceReclaimed: bigint;
            readonly ImagesDeleted: readonly ImageDeleteResponse[] | null | undefined;
        }, DockerError, never>;
        commit: (payload: (typeof ContainerCreateRequest)["~type.make.in"], options: {
            readonly container: string;
            readonly repo?: string | undefined;
            readonly tag?: string | undefined;
            readonly comment?: string | undefined;
            readonly author?: string | undefined;
            readonly pause?: boolean | undefined;
            readonly changes?: string | undefined;
        }) => Effect.Effect<ImageInspectResponse, DockerError, never>;
        export: (name: string, options?: {
            readonly platform?: string | undefined;
        }) => Stream.Stream<JSONMessage, DockerError, never>;
        exportMany: (options?: {
            readonly names?: string | undefined;
            readonly platform?: string | undefined;
        }) => Stream.Stream<JSONMessage, DockerError, never>;
        import: <E, R>(build: Stream.Stream<Uint8Array, E, R>, options?: {
            readonly platform?: string | undefined;
            readonly quiet?: boolean | undefined;
        }) => Stream.Stream<JSONMessage, DockerError, Exclude<R, import("effect/Scope").Scope>>;
    }, never, HttpClient.HttpClient>;
};
/**
 * @since 1.0.0
 * @category Services
 * @see https://docs.docker.com/reference/api/engine/latest/#tag/Image
 */
export declare class Images extends Images_base {
}
/**
 * @since 1.0.0
 * @category Services
 * @see https://docs.docker.com/reference/api/engine/latest/#tag/Image
 */
export declare const ImagesLayer: Layer.Layer<Images, never, HttpClient.HttpClient>;
/**
 * @since 1.0.0
 * @category Services
 * @see https://docs.docker.com/reference/api/engine/latest/#tag/Image
 */
export declare const ImagesLayerLocalSocket: Layer.Layer<Images, never, HttpClient.HttpClient>;
export {};
//# sourceMappingURL=images.d.ts.map