import { type ContainerSummary, type ContainerInspect, type ContainerCreateBody, type NetworkConnectBody, type EngineEvent } from './docker-engine-types.js'; export interface DockerEngineClientOptions { /** Docker socket spec. Default: env DOCKER_HOST or unix:///var/run/docker-host.sock. */ dockerHost?: string; /** Request timeout in ms. Default: 30000. */ requestTimeout?: number; } export interface ListContainersOptions { /** Compose-style label filters: { 'com.docker.compose.project': [''] }. */ filters?: Record; /** Include stopped containers. */ all?: boolean; } export interface CreateContainerResponse { Id: string; Warnings?: string[]; } export interface StreamContainerEventsOptions { filters: { label?: string[]; type?: ('container' | 'image' | 'network' | 'volume' | 'service' | 'node' | 'secret' | 'config')[]; }; /** Abort the stream. The async iterator returns on abort. */ signal?: AbortSignal; } export declare class DockerEngineClient { private readonly socketPath; private readonly requestTimeout; constructor(options?: DockerEngineClientOptions); listContainers(opts?: ListContainersOptions): Promise; inspectContainer(id: string): Promise; createContainer(name: string, config: ContainerCreateBody): Promise; startContainer(id: string): Promise; stopContainer(id: string): Promise; removeContainer(id: string, opts?: { force?: boolean; }): Promise; connectNetwork(networkId: string, body: NetworkConnectBody): Promise; /** * Subscribe to the Docker Engine `/events` stream. * * Returns an async iterable that yields one `EngineEvent` per newline-delimited * JSON line from the daemon. The stream is long-lived; consumers should * implement their own reconnect/backoff. The iterator returns when: * - the daemon closes the stream (e.g. its own restart), * - the consumer breaks out of the `for await` loop, or * - `opts.signal` aborts. * * Throws `DockerDaemonUnavailableError` if the initial socket connection is * refused or the socket file is missing. */ streamContainerEvents(opts: StreamContainerEventsOptions): AsyncIterable; private buildQueryString; private assertOk; private request; } //# sourceMappingURL=docker-engine-client.d.ts.map