import type { ApplicationComponent } from './deploy'; import type { ServiceActivationState } from './service-supervisor'; import { type RuntimeTransitionHost } from './runtime-transition'; export interface ContainerBuildRequest { key: string; revision: string; root: string; release: string; component: string; application: ApplicationComponent; noCache?: boolean; } export interface ContainerActivateRequest extends ContainerBuildRequest { image: string; } export interface ContainerBuildResult { image: string; digest: string; } export interface ContainerHost extends RuntimeTransitionHost { realpath(path: string): string; exists(path: string): boolean; read(path: string): string; write(path: string, content: string, mode: number): void; remove(path: string): void; list(path: string): string[]; mkdir(path: string, mode: number): void; exec(argv: readonly string[]): Promise<{ exitCode: number; output: string; }>; health(port: number, path: string, timeoutMs: number, method: 'GET' | 'HEAD', expectedStatus: readonly number[]): Promise; sleep(ms: number): Promise; now(): number; } export declare function buildContainerImage(requestValue: ContainerBuildRequest, host?: ContainerHost): Promise; export declare function activateContainer(requestValue: ContainerActivateRequest, host?: ContainerHost): Promise;