import { HttpApi, HttpApiEndpoint, HttpApiGroup, HttpClient } from "@effect/platform"; import { Effect, type Layer } from "effect"; import type { MultiplexedSocket, RawSocket } from "../../MobyDemux.js"; import { ContainerExecStartOptions, ContainerExecOptions as ExecConfig, ContainerExecInspect as ExecInspectResponse } from "../generated/index.js"; import { ExecIdentifier } from "../schemas/id.js"; import { DockerError } from "./circular.ts"; import { BadRequest, Conflict, InternalServerError, NotFound } from "./httpApiHacks.js"; /** * @since 1.0.0 * @category HttpApi * @see https://docs.docker.com/reference/api/engine/latest/#tag/Exec */ export declare const ExecsApi: HttpApi.HttpApi<"ExecsApi", HttpApiGroup.HttpApiGroup<"exec", HttpApiEndpoint.HttpApiEndpoint<"container", "POST", { readonly id: string; }, never, ExecConfig, never, { readonly Id: string; }, NotFound | Conflict, never, never> | HttpApiEndpoint.HttpApiEndpoint<"start", "POST", { readonly id: string; }, never, ContainerExecStartOptions, { readonly Upgrade: "tcp"; readonly Connection: "Upgrade"; }, void, NotFound | Conflict, never, never> | HttpApiEndpoint.HttpApiEndpoint<"resize", "POST", { readonly id: string; }, { readonly h: number; readonly w: number; }, never, never, void, BadRequest | NotFound, never, never> | HttpApiEndpoint.HttpApiEndpoint<"inspect", "GET", { readonly id: string; }, never, never, never, ExecInspectResponse, NotFound, never, never>, InternalServerError, never, false>, import("@effect/platform/HttpApiError").HttpApiDecodeError, never>; declare const Execs_base: Effect.Service.Class]; readonly effect: Effect.Effect<{ container: (id: string, payload: ConstructorParameters[0]) => Effect.Effect<{ readonly Id: string; }, DockerError, never>; start: (id: ExecIdentifier, payload: Omit[0], "Detach"> & { Detach: T; }) => Effect.Effect<[T] extends [false] ? RawSocket | MultiplexedSocket : void, DockerError, never>; resize: (id: ExecIdentifier, params: { w: number; h: number; }) => Effect.Effect; inspect: (id: ExecIdentifier) => Effect.Effect; }, never, HttpClient.HttpClient>; }>; /** * @since 1.0.0 * @category Services * @see https://docs.docker.com/reference/api/engine/latest/#tag/Exec */ export declare class Execs extends Execs_base { } /** * @since 1.0.0 * @category Layers * @see https://docs.docker.com/reference/api/engine/latest/#tag/Exec */ export declare const ExecsLayerLocalSocket: Layer.Layer; /** * @since 1.0.0 * @category Layers * @see https://docs.docker.com/reference/api/engine/latest/#tag/Exec */ export declare const ExecsLayer: Layer.Layer; export {};