import { PluginBase } from '@iobroker/plugin-base'; import DockerManagerOfOwnContainers from './lib/DockerManagerOfOwnContainers'; import DockerManager from './lib/DockerManager'; import type { ContainerConfig, ContainerInfo, ImageInfo, NetworkDriver, NetworkInfo, VolumeDriver, DockerContainerInspect, DockerImageTagsResponse, VolumeInfo, ImageName, DiskUsage, DockerImageInspect, PortBinding, Protocol, Security, VolumeMount, LsEntry } from './types'; import { type ComposeTop } from './lib/parseDockerCompose'; export type DockerConfig = ComposeTop; export { DockerManagerOfOwnContainers, DockerManager, type ContainerConfig, type ContainerInfo, type ImageInfo, type NetworkDriver, type NetworkInfo, type VolumeDriver, type VolumeInfo, type DockerImageTagsResponse, type DockerContainerInspect, type ImageName, type DiskUsage, type DockerImageInspect, type PortBinding, type Protocol, type Security, type VolumeMount, type LsEntry, }; export default class DockerPlugin extends PluginBase { #private; /** Return the Docker configurations that will be managed */ get configurations(): ContainerConfig[]; /** * Register and initialize Docker * * @param pluginConfig plugin configuration from config files */ init(pluginConfig: DockerConfig): Promise; /** * Return the DockerManager object. This can be used to monitor containers */ getDockerManager(): DockerManagerOfOwnContainers | null; /** * This function will be called when the instance prepared all data to be copied to volume. * It should be only called if any container has a flag "iobWaitForReady" * * @returns Promise which will be resolved when all containers are ready (or immediate if no container has the flag */ instanceIsReady(forceRestartOfExistingContainer?: boolean): Promise; }