import { ContributionProvider, MaybePromise, URI } from '@theia/core'; import { VariableContext } from './devcontainer-contributions/variable-resolver-contribution'; import { WorkspaceServer } from '@theia/workspace/lib/common'; import * as Docker from 'dockerode'; import { ContainerConnectionOptions } from '../electron-common/remote-container-connection-provider'; import { DevContainerConfiguration } from './devcontainer-file'; import { DevContainerFileService } from './dev-container-file-service'; import { ContainerOutputProvider } from '../electron-common/container-output-provider'; import { RemoteDockerContainerConnection } from './remote-docker-container-connection'; import { DockerComposeService } from './docker-compose/compose-service'; export declare const ContainerCreationContribution: unique symbol; export interface ContainerCreationContribution { handleContainerCreation?(createOptions: Docker.ContainerCreateOptions, containerConfig: DevContainerConfiguration, api: Docker, outputProvider?: ContainerOutputProvider): MaybePromise; /** * executed after creating and starting the container */ handlePostCreate?(containerConfig: DevContainerConfiguration, container: Docker.Container, api: Docker, outputProvider?: ContainerOutputProvider): MaybePromise; /** * executed after a connection has been established with the container and theia has been setup */ handlePostConnect?(containerConfig: DevContainerConfiguration, connection: RemoteDockerContainerConnection, outputProvider?: ContainerOutputProvider): MaybePromise; } export declare class DockerContainerService { protected readonly workspaceServer: WorkspaceServer; protected readonly containerCreationContributions: ContributionProvider; protected readonly devContainerFileService: DevContainerFileService; protected readonly dockerComposeService: DockerComposeService; getOrCreateContainer(docker: Docker, options: ContainerConnectionOptions, outputProvider?: ContainerOutputProvider): Promise; postConnect(devcontainerFile: string, connection: RemoteDockerContainerConnection, outputProvider?: ContainerOutputProvider, context?: VariableContext): Promise; protected buildContainer(docker: Docker, devcontainerFile: string, workspace: URI, outputProvider?: ContainerOutputProvider): Promise; } //# sourceMappingURL=docker-container-service.d.ts.map