import * as Docker from 'dockerode'; import { interfaces } from '@theia/core/shared/inversify'; import { ContainerCreationContribution } from '../docker-container-service'; import { DevContainerConfiguration, DockerfileContainer, ImageContainer } from '../devcontainer-file'; import { ILogger } from '@theia/core'; import { ContainerOutputProvider } from '../../electron-common/container-output-provider'; import { ForwardedPort, RemotePortForwardingProvider } from '@theia/remote/lib/electron-common/remote-port-forwarding-provider'; import { RemoteDockerContainerConnection } from '../remote-docker-container-connection'; export declare function registerContainerCreationContributions(bind: interfaces.Bind): void; export declare class ImageFileContribution implements ContainerCreationContribution { handleContainerCreation(createOptions: Docker.ContainerCreateOptions, containerConfig: ImageContainer, api: Docker, outputprovider: ContainerOutputProvider): Promise; } export declare class DockerFileContribution implements ContainerCreationContribution { handleContainerCreation(createOptions: Docker.ContainerCreateOptions, containerConfig: DockerfileContainer, api: Docker, outputprovider: ContainerOutputProvider): Promise; } export declare class ForwardPortsContribution implements ContainerCreationContribution { protected readonly portForwardingProvider: RemotePortForwardingProvider; handlePostConnect(containerConfig: DevContainerConfiguration, connection: RemoteDockerContainerConnection): Promise; protected getPortAttributes(containerConfig: DevContainerConfiguration, port: number): { label?: string; protocol?: 'http' | 'https'; onAutoForward?: ForwardedPort['onAutoForward']; } | undefined; } export declare class MountsContribution implements ContainerCreationContribution { handleContainerCreation(createOptions: Docker.ContainerCreateOptions, containerConfig: DevContainerConfiguration, api: Docker): Promise; } export declare class RemoteUserContribution implements ContainerCreationContribution { handleContainerCreation(createOptions: Docker.ContainerCreateOptions, containerConfig: DevContainerConfiguration, api: Docker): Promise; } export declare class PostCreateCommandContribution implements ContainerCreationContribution { handlePostCreate?(containerConfig: DevContainerConfiguration, container: Docker.Container, api: Docker, outputprovider: ContainerOutputProvider): Promise; } export declare class ContainerEnvContribution implements ContainerCreationContribution { handleContainerCreation(createOptions: Docker.ContainerCreateOptions, containerConfig: DevContainerConfiguration): Promise; } export declare class HostConfigSharingContribution implements ContainerCreationContribution { protected static readonly ISOLATED_SSH_DIR: string; protected readonly logger: ILogger; handleContainerCreation(createOptions: Docker.ContainerCreateOptions, containerConfig: DevContainerConfiguration): Promise; handlePostCreate(containerConfig: DevContainerConfiguration, container: Docker.Container, _api: Docker, outputprovider: ContainerOutputProvider): Promise; protected detectSshSigningKey(): Promise<{ format: string; keyFile?: string; } | undefined>; protected gitConfigGet(key: string): Promise; protected ensureIsolatedSshDir(sshSigningInfo?: { format: string; keyFile?: string; }): Promise; protected execInContainer(container: Docker.Container, user: string, cmd: string): Promise; protected getContainerHomePath(containerConfig: DevContainerConfiguration, relativePath: string): string; } export declare class DefaultShellContribution implements ContainerCreationContribution { handleContainerCreation(createOptions: Docker.ContainerCreateOptions, containerConfig: DevContainerConfiguration, api: Docker): Promise; protected isBashAvailable(api: Docker, image: string): Promise; } export declare namespace OutputHelper { interface Progress { id?: string; stream: string; status?: string; progress?: string; } interface DedupContext { lastMessage: string; } function createDedupContext(): DedupContext; function parseProgress(progress: Progress, dedup?: DedupContext): string; } //# sourceMappingURL=main-container-creation-contributions.d.ts.map