import { HttpApi, HttpApiEndpoint, HttpApiGroup, HttpApiSchema, HttpClient } from "@effect/platform"; import { Effect, type Layer } from "effect"; import { SwarmSwarm as SwarmData, SwarmInitRequest, SwarmJoinRequest, SwarmSpec } from "../generated/index.js"; import { DockerError } from "./circular.ts"; import { BadRequest, InternalServerError, NotFound } from "./httpApiHacks.ts"; declare const NodeNotPartOfSwarm_base: HttpApiSchema.EmptyErrorClass; /** @since 1.0.0 */ export declare class NodeNotPartOfSwarm extends NodeNotPartOfSwarm_base { } declare const NodeAlreadyPartOfSwarm_base: HttpApiSchema.EmptyErrorClass; /** @since 1.0.0 */ export declare class NodeAlreadyPartOfSwarm extends NodeAlreadyPartOfSwarm_base { } /** * Engines can be clustered together in a swarm. Refer to the swarm mode * documentation for more information. * * @since 1.0.0 * @category HttpApi * @see https://docs.docker.com/reference/api/engine/latest/#tag/Swarm */ export declare const SwarmApi: HttpApi.HttpApi<"SwarmApi", HttpApiGroup.HttpApiGroup<"swarm", HttpApiEndpoint.HttpApiEndpoint<"inspect", "GET", never, never, never, never, SwarmData, NotFound | NodeNotPartOfSwarm, never, never> | HttpApiEndpoint.HttpApiEndpoint<"init", "POST", never, never, SwarmInitRequest, never, string, BadRequest | NodeAlreadyPartOfSwarm, never, never> | HttpApiEndpoint.HttpApiEndpoint<"join", "POST", never, never, SwarmJoinRequest, never, void, BadRequest | NodeAlreadyPartOfSwarm, never, never> | HttpApiEndpoint.HttpApiEndpoint<"leave", "POST", never, { readonly force?: boolean | undefined; }, never, never, void, NodeNotPartOfSwarm, never, never> | HttpApiEndpoint.HttpApiEndpoint<"update", "POST", never, { readonly version: bigint; readonly rotateWorkerToken?: boolean | undefined; readonly rotateManagerToken?: boolean | undefined; readonly rotateManagerUnlockKey?: boolean | undefined; }, SwarmSpec, never, void, BadRequest | NodeNotPartOfSwarm, never, never> | HttpApiEndpoint.HttpApiEndpoint<"unlockkey", "GET", never, never, never, never, { readonly UnlockKey: string; }, NodeNotPartOfSwarm, never, never> | HttpApiEndpoint.HttpApiEndpoint<"unlock", "POST", never, never, { readonly UnlockKey: string; }, never, void, NodeNotPartOfSwarm, never, never>, InternalServerError, never, false>, import("@effect/platform/HttpApiError").HttpApiDecodeError, never>; declare const Swarm_base: Effect.Service.Class]; readonly effect: Effect.Effect<{ inspect: () => Effect.Effect; init: (payload: ConstructorParameters[0]) => Effect.Effect; join: (payload: SwarmJoinRequest) => Effect.Effect; leave: (options?: { force?: boolean | undefined; } | undefined) => Effect.Effect; update: (spec: SwarmSpec, version: bigint, rotate?: { readonly rotateWorkerToken?: boolean | undefined; readonly rotateManagerToken?: boolean | undefined; readonly rotateManagerUnlockKey?: boolean | undefined; } | undefined) => Effect.Effect; unlockkey: () => Effect.Effect<{ readonly UnlockKey: string; }, DockerError, never>; unlock: (unlockKey: string) => Effect.Effect; }, never, HttpClient.HttpClient>; }>; /** * Engines can be clustered together in a swarm. Refer to the swarm mode * documentation for more information. * * @since 1.0.0 * @category Services * @see https://docs.docker.com/reference/api/engine/latest/#tag/Swarm */ export declare class Swarm extends Swarm_base { } /** * Engines can be clustered together in a swarm. Refer to the swarm mode * documentation for more information. * * @since 1.0.0 * @category Layers * @see https://docs.docker.com/reference/api/engine/latest/#tag/Swarm */ export declare const SwarmLayer: Layer.Layer; /** * Engines can be clustered together in a swarm. Refer to the swarm mode * documentation for more information. * * @since 1.0.0 * @category Layers * @see https://docs.docker.com/reference/api/engine/latest/#tag/Swarm */ export declare const SwarmLayerLocalSocket: Layer.Layer; export {};