import { z } from 'zod';
import Config from './config.js';
export type RunSpecConfigType = z.infer<typeof RunSpecConfig.schema>;
export default class RunSpecConfig extends Config<z.infer<typeof RunSpecConfig.schema>> {
    static readonly schema: z.ZodObject<{
        command: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        egress: z.ZodOptional<z.ZodBoolean>;
        env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
        image: z.ZodString;
        scriptDir: z.ZodOptional<z.ZodString>;
        workDir: z.ZodOptional<z.ZodString>;
    }, "strict", z.ZodTypeAny, {
        image: string;
        command?: string[] | undefined;
        env?: Record<string, string> | undefined;
        egress?: boolean | undefined;
        workDir?: string | undefined;
        scriptDir?: string | undefined;
    }, {
        image: string;
        command?: string[] | undefined;
        env?: Record<string, string> | undefined;
        egress?: boolean | undefined;
        workDir?: string | undefined;
        scriptDir?: string | undefined;
    }>;
    protected readonly schema: z.ZodObject<{
        command: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        egress: z.ZodOptional<z.ZodBoolean>;
        env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
        image: z.ZodString;
        scriptDir: z.ZodOptional<z.ZodString>;
        workDir: z.ZodOptional<z.ZodString>;
    }, "strict", z.ZodTypeAny, {
        image: string;
        command?: string[] | undefined;
        env?: Record<string, string> | undefined;
        egress?: boolean | undefined;
        workDir?: string | undefined;
        scriptDir?: string | undefined;
    }, {
        image: string;
        command?: string[] | undefined;
        env?: Record<string, string> | undefined;
        egress?: boolean | undefined;
        workDir?: string | undefined;
        scriptDir?: string | undefined;
    }>;
    private readonly name;
    constructor(srcPath: string, name?: string);
    static getAll(srcPath: string): RunSpecConfig[];
    getName(): string;
}
