import { HttpApi, HttpApiEndpoint, HttpApiGroup, HttpClient } from "@effect/platform"; import { Effect, Schema, type Layer } from "effect"; import { VolumeClusterVolumeSpec as ClusterVolumeSpec, VolumeVolume as Volume, VolumeCreateOptions } from "../generated/index.js"; import { DockerError } from "./circular.ts"; import { BadRequest, Conflict, InternalServerError, NotFound } from "./httpApiHacks.ts"; import { NodeNotPartOfSwarm } from "./swarm.js"; declare const ListFilters_base: Schema.transform, Schema.Struct<{ name: Schema.optional>; driver: Schema.optional>; label: Schema.optional>; dangling: Schema.optional>>; }>>; /** @since 1.0.0 */ export declare class ListFilters extends ListFilters_base { } declare const PruneFilters_base: Schema.transform, Schema.Struct<{ label: Schema.optional>; all: Schema.optional>>; }>>; /** @since 1.0.0 */ export declare class PruneFilters extends PruneFilters_base { } /** * @since 1.0.0 * @category HttpApi * @see https://docs.docker.com/reference/api/engine/latest/#tag/Volume */ export declare const VolumesApi: HttpApi.HttpApi<"VolumesApi", HttpApiGroup.HttpApiGroup<"volumes", HttpApiEndpoint.HttpApiEndpoint<"list", "GET", never, { readonly filters?: { readonly name?: readonly string[] | undefined; readonly label?: readonly string[] | undefined; readonly dangling?: readonly ("0" | "1" | "true" | "false")[] | undefined; readonly driver?: readonly string[] | undefined; } | undefined; }, never, never, { readonly Volumes: readonly Volume[]; readonly Warnings: readonly string[] | null; }, never, never, never> | HttpApiEndpoint.HttpApiEndpoint<"create", "POST", never, never, VolumeCreateOptions, never, Volume, never, never, never> | HttpApiEndpoint.HttpApiEndpoint<"inspect", "GET", { readonly name: string; }, never, never, never, Volume, NotFound, never, never> | HttpApiEndpoint.HttpApiEndpoint<"delete", "DELETE", { readonly name: string; }, { readonly force?: boolean | undefined; }, never, never, void, NotFound | Conflict, never, never> | HttpApiEndpoint.HttpApiEndpoint<"update", "PUT", { readonly name: string; }, { readonly version: number; }, ClusterVolumeSpec, never, void, BadRequest | NotFound | NodeNotPartOfSwarm, never, never> | HttpApiEndpoint.HttpApiEndpoint<"prune", "POST", never, { readonly filters?: { readonly all?: readonly ("0" | "1" | "true" | "false")[] | undefined; readonly label?: readonly string[] | undefined; } | undefined; }, never, never, { readonly SpaceReclaimed: number; readonly VolumesDeleted?: readonly string[] | undefined; }, never, never, never>, InternalServerError, never, false>, import("@effect/platform/HttpApiError").HttpApiDecodeError, never>; declare const Volumes_base: Effect.Service.Class]; readonly effect: Effect.Effect<{ list: (filters?: Schema.Schema.Type) => Effect.Effect<{ readonly Volumes: readonly Volume[]; readonly Warnings: readonly string[] | null; }, DockerError, never>; create: (options: VolumeCreateOptions) => Effect.Effect; inspect: (name: string) => Effect.Effect; delete: (name: string, options?: { force?: boolean | undefined; } | undefined) => Effect.Effect; update: (name: string, version: number, spec: ClusterVolumeSpec) => Effect.Effect; prune: (filters?: Schema.Schema.Type) => Effect.Effect<{ readonly SpaceReclaimed: number; readonly VolumesDeleted?: readonly string[] | undefined; }, DockerError, never>; }, never, HttpClient.HttpClient>; }>; /** * @since 1.0.0 * @category Services * @see https://docs.docker.com/reference/api/engine/latest/#tag/Volume */ export declare class Volumes extends Volumes_base { } /** * @since 1.0.0 * @category Layers * @see https://docs.docker.com/reference/api/engine/latest/#tag/Volume */ export declare const VolumesLayerLocalSocket: Layer.Layer; /** * @since 1.0.0 * @category Layers * @see https://docs.docker.com/reference/api/engine/latest/#tag/Volume */ export declare const VolumesLayer: Layer.Layer; export {};