import { RemoteConnection, RemoteExecOptions, RemoteExecResult, RemoteExecTester } from '@theia/remote/lib/electron-node/remote-types'; import { RemoteSetupResult } from '@theia/remote/lib/electron-node/setup/remote-setup-service'; import { Emitter, Event, ILogger } from '@theia/core'; import { Socket } from 'net'; import * as Docker from 'dockerode'; import { DevContainerConfiguration } from './devcontainer-file'; export interface RemoteContainerConnectionOptions { id: string; name: string; type: string; docker: Docker; container: Docker.Container; config: DevContainerConfiguration; logger: ILogger; } export declare class RemoteDockerContainerConnection implements RemoteConnection { id: string; name: string; type: string; localPort: number; remotePort: number; docker: Docker; container: Docker.Container; remoteSetupResult: RemoteSetupResult; protected readonly logger: ILogger; protected config: DevContainerConfiguration; protected dockerEventStream: NodeJS.ReadableStream | undefined; protected readonly onDidDisconnectEmitter: Emitter; onDidDisconnect: Event; constructor(options: RemoteContainerConnectionOptions); protected getRemoteEnv(): string[] | undefined; /** * Builds a shell command string safe for use with `sh -c`. * Arguments are strong-quoted (single quotes) using {@link BashQuotingFunctions} * so that no shell expansion occurs inside them. * * **`cmd` is not escaped** and must only contain trusted, internally-constructed * values. All untrusted input must be passed via `args`. */ protected buildShellCommand(cmd: string, args?: string[]): string; forwardOut(socket: Socket, port?: number): Promise; exec(cmd: string, args?: string[], options?: RemoteExecOptions): Promise; execPartial(cmd: string, tester: RemoteExecTester, args?: string[], options?: RemoteExecOptions): Promise; getDockerHost(): string[]; copy(localPath: string, remotePath: string): Promise; disposeSync(): void; dispose(): Promise; protected shutdownContainer(sync: boolean): Promise; } //# sourceMappingURL=remote-docker-container-connection.d.ts.map