import { HttpApi, HttpApiEndpoint, HttpApiGroup, HttpClient } from "@effect/platform"; import { Effect, Schema, type Layer } from "effect"; import { SwarmNode, SwarmNodeSpec } from "../generated/index.js"; import { DockerError } from "./circular.ts"; import { BadRequest, InternalServerError, NotFound } from "./httpApiHacks.ts"; import { NodeNotPartOfSwarm } from "./swarm.js"; declare const ListFilters_base: Schema.transform, Schema.Struct<{ id: Schema.optional>; label: Schema.optional>; membership: Schema.optional>>; name: Schema.optional>; "node.label": Schema.optional>; role: Schema.optional>>; }>>; /** @since 1.0.0 */ export declare class ListFilters extends ListFilters_base { } /** * @since 1.0.0 * @category HttpApi * @see https://docs.docker.com/reference/api/engine/latest/#tag/Node */ export declare const NodesApi: HttpApi.HttpApi<"NodesApi", HttpApiGroup.HttpApiGroup<"nodes", HttpApiEndpoint.HttpApiEndpoint<"list", "GET", never, { readonly filters?: { readonly name?: readonly string[] | undefined; readonly id?: readonly string[] | undefined; readonly label?: readonly string[] | undefined; readonly membership?: readonly ("pending" | "accepted")[] | undefined; readonly "node.label"?: readonly string[] | undefined; readonly role?: readonly ("worker" | "manager")[] | undefined; } | undefined; }, never, never, readonly SwarmNode[], NodeNotPartOfSwarm, never, never> | HttpApiEndpoint.HttpApiEndpoint<"inspect", "GET", { readonly id: string; }, never, never, never, SwarmNode, NotFound | NodeNotPartOfSwarm, never, never> | HttpApiEndpoint.HttpApiEndpoint<"delete", "DELETE", { readonly id: string; }, { readonly force?: boolean | undefined; }, never, never, void, NotFound | NodeNotPartOfSwarm, never, never> | HttpApiEndpoint.HttpApiEndpoint<"update", "POST", { readonly id: string; }, { readonly version: number; }, SwarmNodeSpec, never, void, BadRequest | NotFound | NodeNotPartOfSwarm, never, never>, InternalServerError, never, false>, import("@effect/platform/HttpApiError").HttpApiDecodeError, never>; declare const Nodes_base: Effect.Service.Class]; readonly effect: Effect.Effect<{ list: (filters?: Schema.Schema.Type) => Effect.Effect; inspect: (id: string) => Effect.Effect; delete: (id: string, options?: { force?: boolean | undefined; } | undefined) => Effect.Effect; update: (id: string, version: number, payload: SwarmNodeSpec) => Effect.Effect; }, never, HttpClient.HttpClient>; }>; /** * @since 1.0.0 * @category Services * @see https://docs.docker.com/reference/api/engine/latest/#tag/Node */ export declare class Nodes extends Nodes_base { } /** * @since 1.0.0 * @category Layers * @see https://docs.docker.com/reference/api/engine/latest/#tag/Node */ export declare const NodesLayer: Layer.Layer; /** * @since 1.0.0 * @category Layers * @see https://docs.docker.com/reference/api/engine/latest/#tag/Node */ export declare const NodesLayerLocalSocket: Layer.Layer; export {};