import * as Schema from "effect/Schema";
import * as MobySchemas from "../schemas/index.js";
import * as ContainerHealthConfig from "./ContainerHealthConfig.generated.js";
declare const ContainerConfig_base: Schema.Class<ContainerConfig, {
    /** Hostname */
    Hostname: typeof Schema.String;
    /** Domainname */
    Domainname: typeof Schema.String;
    /**
     * User that will run the command(s) inside the container, also support
     * user:group
     */
    User: typeof Schema.String;
    /** Attach the standard input, makes possible user interaction */
    AttachStdin: typeof Schema.Boolean;
    /** Attach the standard output */
    AttachStdout: typeof Schema.Boolean;
    /** Attach the standard error */
    AttachStderr: typeof Schema.Boolean;
    /** List of exposed ports */
    ExposedPorts: Schema.optionalWith<MobySchemas.PortSchemas.$PortSet, {
        nullable: true;
    }>;
    /**
     * Attach standard streams to a tty, including stdin if it is not
     * closed.
     */
    Tty: typeof Schema.Boolean;
    /** Open stdin */
    OpenStdin: typeof Schema.Boolean;
    /** If true, close stdin after the 1 attached client disconnects. */
    StdinOnce: typeof Schema.Boolean;
    /** List of environment variable to set in the container */
    Env: Schema.NullOr<Schema.Array$<typeof Schema.String>>;
    /** Command to run when starting the container */
    Cmd: Schema.NullOr<Schema.Array$<typeof Schema.String>>;
    /** Healthcheck describes how to check the container is healthy */
    Healthcheck: Schema.optionalWith<typeof ContainerHealthConfig.ContainerHealthConfig, {
        nullable: true;
    }>;
    /**
     * True if command is already escaped (meaning treat as a command line)
     * (Windows specific).
     */
    ArgsEscaped: Schema.optional<typeof Schema.Boolean>;
    /**
     * Name of the image as it was passed by the operator (e.g. could be
     * symbolic)
     */
    Image: typeof Schema.String;
    /** List of volumes (mounts) used for the container */
    Volumes: Schema.NullOr<Schema.Record$<typeof Schema.String, typeof Schema.Object>>;
    /** Current directory (PWD) in the command will be launched */
    WorkingDir: typeof Schema.String;
    /** Entrypoint to run when starting the container */
    Entrypoint: Schema.NullOr<Schema.Array$<typeof Schema.String>>;
    /** Is network disabled */
    NetworkDisabled: Schema.optional<typeof Schema.Boolean>;
    /**
     * Mac Address of the container. Deprecated: this field is deprecated
     * since API v1.44. Use EndpointSettings.MacAddress instead.
     */
    MacAddress: Schema.optional<typeof Schema.String>;
    /** ONBUILD metadata that were defined on the image Dockerfile */
    OnBuild: Schema.NullOr<Schema.Array$<typeof Schema.String>>;
    /** List of labels set to this container */
    Labels: Schema.NullOr<Schema.Record$<typeof Schema.String, typeof Schema.String>>;
    /** Signal to stop a container */
    StopSignal: Schema.optional<typeof Schema.String>;
    /** Timeout (in seconds) to stop a container */
    StopTimeout: Schema.optionalWith<MobySchemas.Int64Schemas.$Int64, {
        nullable: true;
    }>;
    /** Shell for shell-form of RUN, CMD, ENTRYPOINT */
    Shell: Schema.optionalWith<Schema.Array$<typeof Schema.String>, {
        nullable: true;
    }>;
}, Schema.Struct.Encoded<{
    /** Hostname */
    Hostname: typeof Schema.String;
    /** Domainname */
    Domainname: typeof Schema.String;
    /**
     * User that will run the command(s) inside the container, also support
     * user:group
     */
    User: typeof Schema.String;
    /** Attach the standard input, makes possible user interaction */
    AttachStdin: typeof Schema.Boolean;
    /** Attach the standard output */
    AttachStdout: typeof Schema.Boolean;
    /** Attach the standard error */
    AttachStderr: typeof Schema.Boolean;
    /** List of exposed ports */
    ExposedPorts: Schema.optionalWith<MobySchemas.PortSchemas.$PortSet, {
        nullable: true;
    }>;
    /**
     * Attach standard streams to a tty, including stdin if it is not
     * closed.
     */
    Tty: typeof Schema.Boolean;
    /** Open stdin */
    OpenStdin: typeof Schema.Boolean;
    /** If true, close stdin after the 1 attached client disconnects. */
    StdinOnce: typeof Schema.Boolean;
    /** List of environment variable to set in the container */
    Env: Schema.NullOr<Schema.Array$<typeof Schema.String>>;
    /** Command to run when starting the container */
    Cmd: Schema.NullOr<Schema.Array$<typeof Schema.String>>;
    /** Healthcheck describes how to check the container is healthy */
    Healthcheck: Schema.optionalWith<typeof ContainerHealthConfig.ContainerHealthConfig, {
        nullable: true;
    }>;
    /**
     * True if command is already escaped (meaning treat as a command line)
     * (Windows specific).
     */
    ArgsEscaped: Schema.optional<typeof Schema.Boolean>;
    /**
     * Name of the image as it was passed by the operator (e.g. could be
     * symbolic)
     */
    Image: typeof Schema.String;
    /** List of volumes (mounts) used for the container */
    Volumes: Schema.NullOr<Schema.Record$<typeof Schema.String, typeof Schema.Object>>;
    /** Current directory (PWD) in the command will be launched */
    WorkingDir: typeof Schema.String;
    /** Entrypoint to run when starting the container */
    Entrypoint: Schema.NullOr<Schema.Array$<typeof Schema.String>>;
    /** Is network disabled */
    NetworkDisabled: Schema.optional<typeof Schema.Boolean>;
    /**
     * Mac Address of the container. Deprecated: this field is deprecated
     * since API v1.44. Use EndpointSettings.MacAddress instead.
     */
    MacAddress: Schema.optional<typeof Schema.String>;
    /** ONBUILD metadata that were defined on the image Dockerfile */
    OnBuild: Schema.NullOr<Schema.Array$<typeof Schema.String>>;
    /** List of labels set to this container */
    Labels: Schema.NullOr<Schema.Record$<typeof Schema.String, typeof Schema.String>>;
    /** Signal to stop a container */
    StopSignal: Schema.optional<typeof Schema.String>;
    /** Timeout (in seconds) to stop a container */
    StopTimeout: Schema.optionalWith<MobySchemas.Int64Schemas.$Int64, {
        nullable: true;
    }>;
    /** Shell for shell-form of RUN, CMD, ENTRYPOINT */
    Shell: Schema.optionalWith<Schema.Array$<typeof Schema.String>, {
        nullable: true;
    }>;
}>, never, {
    readonly MacAddress?: string | undefined;
} & {
    readonly Hostname: string;
} & {
    readonly Domainname: string;
} & {
    readonly User: string;
} & {
    readonly AttachStdin: boolean;
} & {
    readonly AttachStdout: boolean;
} & {
    readonly AttachStderr: boolean;
} & {
    readonly Tty: boolean;
} & {
    readonly OpenStdin: boolean;
} & {
    readonly StdinOnce: boolean;
} & {
    readonly Image: string;
} & {
    readonly WorkingDir: string;
} & {
    readonly ExposedPorts?: {
        readonly [x: `${number}`]: object;
        readonly [x: `${number}/tcp`]: object;
        readonly [x: `${number}/udp`]: object;
    } | undefined;
} & {
    readonly Env: readonly string[] | null;
} & {
    readonly Cmd: readonly string[] | null;
} & {
    readonly Healthcheck?: ContainerHealthConfig.ContainerHealthConfig | undefined;
} & {
    readonly ArgsEscaped?: boolean | undefined;
} & {
    readonly Volumes: {
        readonly [x: string]: object;
    } | null;
} & {
    readonly Entrypoint: readonly string[] | null;
} & {
    readonly NetworkDisabled?: boolean | undefined;
} & {
    readonly OnBuild: readonly string[] | null;
} & {
    readonly Labels: {
        readonly [x: string]: string;
    } | null;
} & {
    readonly StopSignal?: string | undefined;
} & {
    readonly StopTimeout?: MobySchemas.Int64Schemas.Int64Brand | undefined;
} & {
    readonly Shell?: readonly string[] | undefined;
}, {}, {}>;
export declare class ContainerConfig extends ContainerConfig_base {
}
export {};
//# sourceMappingURL=ContainerConfig.generated.d.ts.map