import type { ResolvedConfig } from "./types.js"; export interface RuntimeMount { source: string; target: string; readonly?: boolean; } export interface RunnerScope { detach: boolean; upload_max_file_mb: number; download_conflict: "refuse" | "overwrite"; sync: "both" | "upload" | "none"; workspace?: { exclude?: string[]; }; } interface SharedRuntimeFields { build_args: Record; mounts: RuntimeMount[]; link?: string; } export interface HostRuntime extends SharedRuntimeFields { type: "host"; } export interface DockerRuntime extends SharedRuntimeFields { type: "docker"; image?: string; dockerfile?: string; build_context?: string; engine?: "docker" | "podman"; network?: string; extra_args?: string[]; } export type RuntimeConfig = HostRuntime | DockerRuntime; export type RuntimeRunner = RuntimeConfig["type"]; export interface RuntimeResolveResult { runtime: RuntimeConfig; runner: RuntimeRunner; dockerfilePath: string | null; buildContext: string | null; } export declare const runtimeConfigScope: { scope: string; schema: { type: { type: "string"; default: string; doc: string; }; build_args: { type: "json"; default: Record; parse: typeof parseBuildArgs; doc: string; }; mounts: { type: "json"; default: RuntimeMount[]; parse: typeof parseMounts; doc: string; }; runner: { type: "json"; default: RunnerScope; parse: typeof parseRunner; doc: string; }; link: { type: "string"; default: string; doc: string; }; image: { type: "string"; default: string; doc: string; }; dockerfile: { type: "string"; default: string; doc: string; }; build_context: { type: "string"; default: string; doc: string; }; engine: { type: "string"; default: string; doc: string; }; network: { type: "string"; default: string; doc: string; }; extra_args: { type: "json"; default: string[] | undefined; parse: typeof parseOptionalStringArray; doc: string; }; }; }; export declare function parseRunner(raw: unknown): RunnerScope; export declare function parseRuntime(raw: unknown): RuntimeConfig; export declare function resolveRuntime({ cwd, config }: { cwd: string; config: Pick; }): RuntimeResolveResult; declare function parseBuildArgs(value: unknown): Record; declare function parseMounts(value: unknown): RuntimeMount[]; declare function parseOptionalStringArray(value: unknown, key?: string): string[] | undefined; export {};