declare namespace Docker { interface Stats { read: string; preread: string; pids_stats: PidsStats; blkio_stats: BlkioStats; num_procs: number; storage_stats: StorageStats; cpu_stats: CPUStats; precpu_stats: CPUStats; memory_stats: MemoryStats; name: string; id: string; networks: Networks; } interface BlkioStats { io_service_bytes_recursive: IoServiceRecursive[]; io_serviced_recursive: IoServiceRecursive[]; io_queue_recursive: any[]; io_service_time_recursive: any[]; io_wait_time_recursive: any[]; io_merged_recursive: any[]; io_time_recursive: any[]; sectors_recursive: any[]; } interface IoServiceRecursive { major: number; minor: number; op: string; value: number; } interface CPUStats { cpu_usage: CPUUsage; system_cpu_usage: number; online_cpus: number; throttling_data: ThrottlingData; } interface CPUUsage { total_usage: number; percpu_usage: number[]; usage_in_kernelmode: number; usage_in_usermode: number; } interface ThrottlingData { periods: number; throttled_periods: number; throttled_time: number; } interface MemoryStats { usage: number; max_usage: number; stats: { [key: string]: number; }; limit: number; } interface Networks { eth0: Eth0; } interface Eth0 { rx_bytes: number; rx_packets: number; rx_errors: number; rx_dropped: number; tx_bytes: number; tx_packets: number; tx_errors: number; tx_dropped: number; } interface PidsStats { current: number; } interface StorageStats { } interface Image { Id: string; ParentId: string; RepoTags: string[]; RepoDigests: string[]; Created: number; Size: number; VirtualSize: number; SharedSize: number; Labels: any; Containers: number; } interface Container { Id: string; Names: string[]; State: string; Status: string; Hostname: string; DomainName: string; User: string; AttachStdin: boolean; AttachStdout: boolean; AttachStderr: boolean; Tty: boolean; OpenStdin: boolean; StdinOnce: boolean; Env: string[]; Cmd: string[]; EntryPoint: string; Image: string; Labels: Labels; Volumes: Volumes; WorkingDir: string; NetworkDisabled: boolean; MacAddress: string; ExposedPorts: ExposedPorts; StopSignal: string; StopTimeout: number; HostConfig: Partial; NetworkingConfig: NetworkingConfig; } interface ExposedPorts { [key: string]: any; } interface HostConfig { Binds: string[]; Links: string[]; Memory: number; MemorySwap: number; MemoryReservation: number; KernelMemory: number; NanoCPUs: number; CpuPercent: number; CpuShares: number; CpuPeriod: number; CpuRealtimePeriod: number; CpuRealtimeRuntime: number; CpuQuota: number; CpusetCpus: string; CpusetMems: string; MaximumIOps: number; MaximumIOBps: number; BlkioWeight: number; DeviceRequests: DeviceRequest[]; MemorySwappiness: number; OomKillDisable: boolean; OomScoreAdj: number; PidMode: string; PidsLimit: number; PortBindings: PortBindings; PublishAllPorts: boolean; Privileged: boolean; ReadonlyRootfs: boolean; Dns: string[]; DnsOptions: string[]; DnsSearch: string[]; VolumesFrom: string[]; CapAdd: string[]; CapDrop: string[]; GroupAdd: string[]; RestartPolicy: RestartPolicy; AutoRemove: boolean; NetworkMode: string; Devices: any[]; LogConfig: LogConfig; SecurityOpt: any[]; CgroupParent: string; VolumeDriver: string; ShmSize: number; } interface DeviceRequest { Driver: string; Count: number; Capabilities: Array; Options: Options; } interface Options { property1: string; property2: string; } interface LogConfig { Type: string; Config: any; } interface PortBindings { [key: string]: { HostPort: string; }; } interface RestartPolicy { Name: string; MaximumRetryCount?: number; } interface Labels { 'com.example.vendor': string; 'com.example.license': string; 'com.example.version': string; } interface NetworkingConfig { EndpointsConfig: EndpointsConfig; } interface EndpointsConfig { isolated_nw: IsolatedNw; } interface IsolatedNw { IPAMConfig: IPAMConfig; Links: string[]; Aliases: string[]; } interface IPAMConfig { IPv4Address: string; IPv6Address: string; LinkLocalIPs: string[]; } interface Volumes { '/volumes/data': any; } }