/// /// import { Container, ContainerInfo, NetworkInspectInfo } from 'dockerode'; import { Writable } from 'stream'; import { EmulatorBuildContext } from 'types/index.js'; interface DockerClient { listContainers(options: {}): Promise; listNetworks(): Promise; createNetwork(options: {}): Promise; buildImage(buildContext: EmulatorBuildContext, options: {}): Promise; getContainer(containerName: string): Promise; removeContainer(container: Container, options: {}): Promise; run(imageName: string, cmd: string[], streams: Writable[], options: {}): Promise; followProgress(stream: NodeJS.ReadableStream, onFinished: (err: Error | null, output: any) => void, onProgress: (info: any) => void): Promise; } declare class DockerClientImpl implements DockerClient { private docker; constructor(); listContainers(options?: { all: true; filters: string; }): Promise; listNetworks(): Promise; createNetwork(options: { Name: string; Attachable: boolean; }): Promise; buildImage(buildContext: EmulatorBuildContext, options: {}): Promise; getContainer(containerName: string): Promise; removeContainer(container: Container, options: {}): Promise; run(imageName: string, cmd: string[], streams: Writable[], options: {}): Promise; followProgress(stream: NodeJS.ReadableStream, onFinished: (err: Error | null, output: any) => void, onProgress: (info: any) => void): Promise; } declare class DockerClientMock implements DockerClient { listContainers(options?: {}): Promise; listNetworks(): Promise; createNetwork(options: {}): Promise; buildImage(buildContext: EmulatorBuildContext, options: {}): Promise; getContainer(containerId: string): Promise; removeContainer(container: Container, options: {}): Promise; run(imageName: string, cmd: string[], streams: Writable[], options: {}): Promise; followProgress(stream: NodeJS.ReadableStream, onFinished: (err: Error | null, output: any) => void, onProgress: (info: any) => void): Promise; } export { DockerClient, DockerClientImpl, DockerClientMock };