import * as plugins from './plugins.js'; import type * as interfaces from './interfaces/index.js'; import type { DockerHost } from './classes.host.js'; import { DockerResource } from './classes.base.js'; export declare class DockerContainer extends DockerResource { static _list(dockerHostArg: DockerHost, optionsArg?: interfaces.IContainerListOptions): Promise; static _fromId(dockerHostArg: DockerHost, containerIdArg: string, optionsArg?: interfaces.IContainerReadOptions): Promise; static _create(dockerHostArg: DockerHost, descriptorArg: interfaces.IContainerCreationDescriptor): Promise; private static validateCreationDescriptor; private static recordUniqueValue; private static assertPort; private static createHealthcheck; Id: string; Names: string[]; Name?: string; Image: string; ImageID?: string; ImageReference?: string; Command?: string; Created?: number | string; Ports?: interfaces.TPorts; Labels?: interfaces.TLabels; State?: string | Record; Status?: string; Config?: Record; HostConfig?: Record; NetworkSettings?: Record; Mounts?: unknown[]; private readonly immutableId; constructor(dockerHostArg: DockerHost, dockerContainerObjectArg: Record); refresh(): Promise; inspect(optionsArg?: interfaces.IContainerReadOptions): Promise>; /** * Inspect this immutable container ID and validate the state fields used for runtime recovery. * Missing or malformed OOM evidence is an error, never an implicit `false`. */ inspectState(optionsArg?: interfaces.IContainerReadOptions): Promise; /** Inspect one exact-ID snapshot and retain the current run's full nanosecond start time. */ inspectRunState(optionsArg?: interfaces.IContainerReadOptions): Promise; private parseRuntimeState; /** Renames this exact container and verifies the result through its immutable ID. */ rename(nextNameArg: string): Promise; start(): Promise; stop(optionsArg?: interfaces.IContainerStopOptions): Promise; /** Wait indefinitely by default; pass a signal or deadline to cancel. */ wait(conditionArg?: interfaces.TContainerWaitCondition, optionsArg?: interfaces.IContainerReadOptions): Promise; /** Send a signal to this exact container. */ kill(signalArg?: string): Promise; /** Resize this container's TTY in rows and columns. */ resize(heightArg: number, widthArg: number): Promise; /** Resize an exec after proving it belongs to this exact container. */ resizeExec(execIdArg: string, heightArg: number, widthArg: number): Promise; private static assertTerminalSize; remove(optionsArg?: interfaces.IContainerRemoveOptions): Promise; logs(optionsArg?: interfaces.IContainerLogsOptions): Promise; stats(optionsArg?: interfaces.IContainerStatsOptions): Promise; streamLogs(optionsArg?: interfaces.IContainerStreamLogsOptions): Promise; private static createDemultiplexedStream; private static collectStream; attach(optionsArg?: interfaces.IContainerAttachOptions): Promise<{ stream: plugins.stream.Duplex; close: () => Promise; }>; private static createAttachAbortError; /** * Runs a bounded argv command, collects multiplexed stdout/stderr, inspects * the exact exit status, and closes the hijacked transport on every path. */ exec(commandArg: interfaces.TContainerCommand, optionsArg?: interfaces.IContainerExecOptions): Promise; /** * Starts a caller-owned bidirectional exec session without changing the * collected, bounded semantics of exec(). */ execInteractive(commandArg: interfaces.TContainerCommand, optionsArg?: interfaces.IContainerInteractiveExecOptions): Promise; private static createInteractiveExecAbortError; private inspectExec; private static remainingExecTime; private static awaitExecStep; private waitForExecCompletion; private static collectExecOutput; }