import * as Schema from "effect/Schema";
import * as MobySchemas from "../schemas/index.js";
import * as ContainerDeviceMapping from "./ContainerDeviceMapping.generated.js";
import * as ContainerDeviceRequest from "./ContainerDeviceRequest.generated.js";
import * as ContainerHealthConfig from "./ContainerHealthConfig.generated.js";
import * as ContainerLogConfig from "./ContainerLogConfig.generated.js";
import * as ContainerRestartPolicy from "./ContainerRestartPolicy.generated.js";
import * as ContainerUlimit from "./ContainerUlimit.generated.js";
import * as Mount from "./Mount.generated.js";
import * as NetworkNetworkingConfig from "./NetworkNetworkingConfig.generated.js";
import * as ThrottleDevice from "./ThrottleDevice.generated.js";
import * as WeightDevice from "./WeightDevice.generated.js";
declare const ContainerCreateRequest_base: Schema.Class<ContainerCreateRequest, {
    /** Hostname */
    Hostname: Schema.optionalWith<typeof Schema.String, {
        nullable: true;
    }>;
    /** Domainname */
    Domainname: Schema.optionalWith<typeof Schema.String, {
        nullable: true;
    }>;
    /**
     * User that will run the command(s) inside the container, also support
     * user:group
     */
    User: Schema.optionalWith<typeof Schema.String, {
        nullable: true;
    }>;
    /** Attach the standard input, makes possible user interaction */
    AttachStdin: Schema.optionalWith<typeof Schema.Boolean, {
        nullable: true;
    }>;
    /** Attach the standard output */
    AttachStdout: Schema.optionalWith<typeof Schema.Boolean, {
        nullable: true;
    }>;
    /** Attach the standard error */
    AttachStderr: Schema.optionalWith<typeof Schema.Boolean, {
        nullable: true;
    }>;
    /** 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: Schema.optionalWith<typeof Schema.Boolean, {
        nullable: true;
    }>;
    /** Open stdin */
    OpenStdin: Schema.optionalWith<typeof Schema.Boolean, {
        nullable: true;
    }>;
    /** If true, close stdin after the 1 attached client disconnects. */
    StdinOnce: Schema.optionalWith<typeof Schema.Boolean, {
        nullable: true;
    }>;
    /** List of environment variable to set in the container */
    Env: Schema.optionalWith<Schema.Array$<typeof Schema.String>, {
        nullable: true;
    }>;
    /** Command to run when starting the container */
    Cmd: Schema.optionalWith<Schema.Array$<typeof Schema.String>, {
        nullable: true;
    }>;
    /** 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.optionalWith<typeof Schema.Boolean, {
        nullable: true;
    }>;
    /**
     * 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.optionalWith<Schema.Record$<typeof Schema.String, typeof Schema.Object>, {
        nullable: true;
    }>;
    /** Current directory (PWD) in the command will be launched */
    WorkingDir: Schema.optionalWith<typeof Schema.String, {
        nullable: true;
    }>;
    /** Entrypoint to run when starting the container */
    Entrypoint: Schema.optionalWith<Schema.Array$<typeof Schema.String>, {
        nullable: true;
    }>;
    /** Is network disabled */
    NetworkDisabled: Schema.optionalWith<typeof Schema.Boolean, {
        nullable: true;
    }>;
    /**
     * Mac Address of the container. Deprecated: this field is deprecated
     * since API v1.44. Use EndpointSettings.MacAddress instead.
     */
    MacAddress: Schema.optionalWith<typeof Schema.String, {
        nullable: true;
    }>;
    /** ONBUILD metadata that were defined on the image Dockerfile */
    OnBuild: Schema.optionalWith<Schema.Array$<typeof Schema.String>, {
        nullable: true;
    }>;
    /** List of labels set to this container */
    Labels: Schema.optionalWith<Schema.Record$<typeof Schema.String, typeof Schema.String>, {
        nullable: true;
    }>;
    /** Signal to stop a container */
    StopSignal: Schema.optionalWith<typeof Schema.String, {
        nullable: true;
    }>;
    /** 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;
    }>;
    HostConfig: Schema.optionalWith<Schema.Struct<{
        /** List of volume bindings for this container */
        Binds: Schema.optionalWith<Schema.Array$<typeof Schema.String>, {
            nullable: true;
        }>;
        /** File (path) where the containerId is written */
        ContainerIDFile: Schema.optionalWith<typeof Schema.String, {
            nullable: true;
        }>;
        /** Configuration of the logs for this container */
        LogConfig: Schema.optionalWith<typeof ContainerLogConfig.ContainerLogConfig, {
            nullable: true;
        }>;
        /** Network mode to use for the container */
        NetworkMode: Schema.optionalWith<Schema.Literal<["default", "none", "host", "bridge", "nat"]>, {
            nullable: true;
        }>;
        /**
         * Port mapping between the exposed port (container) and the
         * host
         */
        PortBindings: Schema.optionalWith<MobySchemas.PortSchemas.$PortMap, {
            nullable: true;
        }>;
        /** Restart policy to be used for the container */
        RestartPolicy: Schema.optionalWith<typeof ContainerRestartPolicy.ContainerRestartPolicy, {
            nullable: true;
        }>;
        /** Automatically remove container when it exits */
        AutoRemove: Schema.optionalWith<typeof Schema.Boolean, {
            nullable: true;
        }>;
        /** Name of the volume driver used to mount volumes */
        VolumeDriver: Schema.optionalWith<typeof Schema.String, {
            nullable: true;
        }>;
        /** List of volumes to take from other container */
        VolumesFrom: Schema.optionalWith<Schema.Array$<typeof Schema.String>, {
            nullable: true;
        }>;
        /** Initial console size (height,width) */
        ConsoleSize: Schema.optionalWith<Schema.filter<Schema.Array$<MobySchemas.UInt64Schemas.$UInt64>>, {
            nullable: true;
        }>;
        /**
         * Arbitrary non-identifying metadata attached to container and
         * provided to the runtime
         */
        Annotations: Schema.optionalWith<Schema.Record$<typeof Schema.String, typeof Schema.String>, {
            nullable: true;
        }>;
        /** List of kernel capabilities to add to the container */
        CapAdd: Schema.optionalWith<Schema.Array$<typeof Schema.String>, {
            nullable: true;
        }>;
        /** List of kernel capabilities to remove from the container */
        CapDrop: Schema.optionalWith<Schema.Array$<typeof Schema.String>, {
            nullable: true;
        }>;
        /** Cgroup namespace mode to use for the container */
        CgroupnsMode: Schema.optionalWith<Schema.Literal<["", "private", "host"]>, {
            nullable: true;
        }>;
        /** List of DNS servers for the container to use */
        Dns: Schema.optionalWith<Schema.Array$<typeof Schema.String>, {
            nullable: true;
        }>;
        /** List of DNS search domains */
        DnsOptions: Schema.optionalWith<Schema.Array$<typeof Schema.String>, {
            nullable: true;
        }>;
        /** List of DNS search domains */
        DnsSearch: Schema.optionalWith<Schema.Array$<typeof Schema.String>, {
            nullable: true;
        }>;
        /** List of extra hosts */
        ExtraHosts: Schema.optionalWith<Schema.Array$<typeof Schema.String>, {
            nullable: true;
        }>;
        /**
         * List of additional groups that the container process will run
         * as
         */
        GroupAdd: Schema.optionalWith<Schema.Array$<typeof Schema.String>, {
            nullable: true;
        }>;
        /** IPC namespace to use for the container */
        IpcMode: Schema.optionalWith<Schema.Literal<["none", "host", "container", "private", "shareable"]>, {
            nullable: true;
        }>;
        /** Cgroup to use for the container */
        Cgroup: Schema.optionalWith<typeof Schema.String, {
            nullable: true;
        }>;
        /** List of links (in the name:alias form) */
        Links: Schema.optionalWith<Schema.Array$<typeof Schema.String>, {
            nullable: true;
        }>;
        /** Container preference for OOM-killing */
        OomScoreAdj: Schema.optionalWith<MobySchemas.Int64Schemas.$Int64, {
            nullable: true;
        }>;
        /** PID namespace to use for the container */
        PidMode: Schema.optionalWith<typeof Schema.String, {
            nullable: true;
        }>;
        /** Is the container in privileged mode */
        Privileged: Schema.optionalWith<typeof Schema.Boolean, {
            nullable: true;
        }>;
        /** Should docker publish all exposed port for the container */
        PublishAllPorts: Schema.optionalWith<typeof Schema.Boolean, {
            nullable: true;
        }>;
        /** Is the container root filesystem in read-only */
        ReadonlyRootfs: Schema.optionalWith<typeof Schema.Boolean, {
            nullable: true;
        }>;
        /**
         * List of string values to customize labels for MLS systems,
         * such as SELinux.
         */
        SecurityOpt: Schema.optionalWith<Schema.Array$<typeof Schema.String>, {
            nullable: true;
        }>;
        /** Storage driver options per container. */
        StorageOpt: Schema.optionalWith<Schema.Record$<typeof Schema.String, typeof Schema.String>, {
            nullable: true;
        }>;
        /** List of tmpfs (mounts) used for the container */
        Tmpfs: Schema.optionalWith<Schema.Record$<typeof Schema.String, typeof Schema.String>, {
            nullable: true;
        }>;
        /** UTS namespace to use for the container */
        UTSMode: Schema.optionalWith<typeof Schema.String, {
            nullable: true;
        }>;
        /** The user namespace to use for the container */
        UsernsMode: Schema.optionalWith<typeof Schema.String, {
            nullable: true;
        }>;
        /** Total shm memory usage */
        ShmSize: Schema.optionalWith<MobySchemas.Int64Schemas.$Int64, {
            nullable: true;
        }>;
        /** List of Namespaced sysctls used for the container */
        Sysctls: Schema.optionalWith<Schema.Record$<typeof Schema.String, typeof Schema.String>, {
            nullable: true;
        }>;
        /** Runtime to use with this container */
        Runtime: Schema.optionalWith<typeof Schema.String, {
            nullable: true;
        }>;
        /** Isolation technology of the container (e.g. default, hyperv) */
        Isolation: Schema.optionalWith<Schema.Literal<["default", "process", "hyperv", ""]>, {
            nullable: true;
        }>;
        /** CPU shares (relative weight vs. other containers) */
        CpuShares: Schema.optionalWith<MobySchemas.Int64Schemas.$Int64, {
            nullable: true;
        }>;
        /** Memory limit (in bytes) */
        Memory: Schema.optionalWith<MobySchemas.Int64Schemas.$Int64, {
            nullable: true;
        }>;
        /** CPU quota */
        NanoCpus: Schema.optionalWith<MobySchemas.Int64Schemas.$Int64, {
            nullable: true;
        }>;
        /** Parent cgroup. */
        CgroupParent: Schema.optionalWith<typeof Schema.String, {
            nullable: true;
        }>;
        /** Block IO weight (relative weight vs. other containers) */
        BlkioWeight: Schema.optionalWith<MobySchemas.UInt16Schemas.$UInt16, {
            nullable: true;
        }>;
        BlkioWeightDevice: Schema.optionalWith<Schema.Array$<Schema.NullOr<typeof WeightDevice.WeightDevice>>, {
            nullable: true;
        }>;
        BlkioDeviceReadBps: Schema.optionalWith<Schema.Array$<Schema.NullOr<typeof ThrottleDevice.ThrottleDevice>>, {
            nullable: true;
        }>;
        BlkioDeviceWriteBps: Schema.optionalWith<Schema.Array$<Schema.NullOr<typeof ThrottleDevice.ThrottleDevice>>, {
            nullable: true;
        }>;
        BlkioDeviceReadIOps: Schema.optionalWith<Schema.Array$<Schema.NullOr<typeof ThrottleDevice.ThrottleDevice>>, {
            nullable: true;
        }>;
        BlkioDeviceWriteIOps: Schema.optionalWith<Schema.Array$<Schema.NullOr<typeof ThrottleDevice.ThrottleDevice>>, {
            nullable: true;
        }>;
        /** CPU CFS (Completely Fair Scheduler) period */
        CpuPeriod: Schema.optionalWith<MobySchemas.Int64Schemas.$Int64, {
            nullable: true;
        }>;
        /** CPU CFS (Completely Fair Scheduler) quota */
        CpuQuota: Schema.optionalWith<MobySchemas.Int64Schemas.$Int64, {
            nullable: true;
        }>;
        /** CPU real-time period */
        CpuRealtimePeriod: Schema.optionalWith<MobySchemas.Int64Schemas.$Int64, {
            nullable: true;
        }>;
        /** CPU real-time runtime */
        CpuRealtimeRuntime: Schema.optionalWith<MobySchemas.Int64Schemas.$Int64, {
            nullable: true;
        }>;
        /** CpusetCpus 0-2, 0,1 */
        CpusetCpus: Schema.optionalWith<typeof Schema.String, {
            nullable: true;
        }>;
        /** CpusetMems 0-2, 0,1 */
        CpusetMems: Schema.optionalWith<typeof Schema.String, {
            nullable: true;
        }>;
        /** List of devices to map inside the container */
        Devices: Schema.optionalWith<Schema.Array$<Schema.NullOr<typeof ContainerDeviceMapping.ContainerDeviceMapping>>, {
            nullable: true;
        }>;
        /** List of rule to be added to the device cgroup */
        DeviceCgroupRules: Schema.optionalWith<Schema.Array$<typeof Schema.String>, {
            nullable: true;
        }>;
        /** List of device requests for device drivers */
        DeviceRequests: Schema.optionalWith<Schema.Array$<Schema.NullOr<typeof ContainerDeviceRequest.ContainerDeviceRequest>>, {
            nullable: true;
        }>;
        /**
         * KernelMemory specifies the kernel memory limit (in bytes) for
         * the container. Deprecated: kernel 5.4 deprecated
         * kmem.limit_in_bytes.
         */
        KernelMemory: Schema.optionalWith<MobySchemas.Int64Schemas.$Int64, {
            nullable: true;
        }>;
        /** Hard limit for kernel TCP buffer memory (in bytes) */
        KernelMemoryTCP: Schema.optionalWith<MobySchemas.Int64Schemas.$Int64, {
            nullable: true;
        }>;
        /** Memory soft limit (in bytes) */
        MemoryReservation: Schema.optionalWith<MobySchemas.Int64Schemas.$Int64, {
            nullable: true;
        }>;
        /**
         * Total memory usage (memory + swap); set `-1` to enable
         * unlimited swap
         */
        MemorySwap: Schema.optionalWith<MobySchemas.Int64Schemas.$Int64, {
            nullable: true;
        }>;
        /** Tuning container memory swappiness behaviour */
        MemorySwappiness: Schema.optionalWith<MobySchemas.Int64Schemas.$Int64, {
            nullable: true;
        }>;
        /** Whether to disable OOM Killer or not */
        OomKillDisable: Schema.optionalWith<typeof Schema.Boolean, {
            nullable: true;
        }>;
        /**
         * Setting PIDs limit for a container; Set `0` or `-1` for
         * unlimited, or `null` to not change.
         */
        PidsLimit: Schema.optionalWith<MobySchemas.Int64Schemas.$Int64, {
            nullable: true;
        }>;
        /** List of ulimits to be set in the container */
        Ulimits: Schema.optionalWith<Schema.Array$<Schema.NullOr<typeof ContainerUlimit.ContainerUlimit>>, {
            nullable: true;
        }>;
        /** Cpu count */
        CpuCount: Schema.optionalWith<MobySchemas.Int64Schemas.$Int64, {
            nullable: true;
        }>;
        /** CPU percent */
        CpuPercent: Schema.optionalWith<MobySchemas.Int64Schemas.$Int64, {
            nullable: true;
        }>;
        /** Maximum IOps for the container system drive */
        IOMaximumIOps: Schema.optionalWith<MobySchemas.UInt64Schemas.$UInt64, {
            nullable: true;
        }>;
        /** Maximum IO in bytes per second for the container system drive */
        IOMaximumBandwidth: Schema.optionalWith<MobySchemas.UInt64Schemas.$UInt64, {
            nullable: true;
        }>;
        /** Mounts specs used by the container */
        Mounts: Schema.optionalWith<Schema.Array$<Schema.NullOr<typeof Mount.Mount>>, {
            nullable: true;
        }>;
        /**
         * MaskedPaths is the list of paths to be masked inside the
         * container (this overrides the default set of paths)
         */
        MaskedPaths: Schema.optionalWith<Schema.Array$<typeof Schema.String>, {
            nullable: true;
        }>;
        /**
         * ReadonlyPaths is the list of paths to be set as read-only
         * inside the container (this overrides the default set of
         * paths)
         */
        ReadonlyPaths: Schema.optionalWith<Schema.Array$<typeof Schema.String>, {
            nullable: true;
        }>;
        /**
         * Run a custom init inside the container, if null, use the
         * daemon's configured settings
         */
        Init: Schema.optionalWith<typeof Schema.Boolean, {
            nullable: true;
        }>;
    }>, {
        nullable: true;
    }>;
    NetworkingConfig: Schema.optionalWith<typeof NetworkNetworkingConfig.NetworkNetworkingConfig, {
        nullable: true;
    }>;
}, Schema.Struct.Encoded<{
    /** Hostname */
    Hostname: Schema.optionalWith<typeof Schema.String, {
        nullable: true;
    }>;
    /** Domainname */
    Domainname: Schema.optionalWith<typeof Schema.String, {
        nullable: true;
    }>;
    /**
     * User that will run the command(s) inside the container, also support
     * user:group
     */
    User: Schema.optionalWith<typeof Schema.String, {
        nullable: true;
    }>;
    /** Attach the standard input, makes possible user interaction */
    AttachStdin: Schema.optionalWith<typeof Schema.Boolean, {
        nullable: true;
    }>;
    /** Attach the standard output */
    AttachStdout: Schema.optionalWith<typeof Schema.Boolean, {
        nullable: true;
    }>;
    /** Attach the standard error */
    AttachStderr: Schema.optionalWith<typeof Schema.Boolean, {
        nullable: true;
    }>;
    /** 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: Schema.optionalWith<typeof Schema.Boolean, {
        nullable: true;
    }>;
    /** Open stdin */
    OpenStdin: Schema.optionalWith<typeof Schema.Boolean, {
        nullable: true;
    }>;
    /** If true, close stdin after the 1 attached client disconnects. */
    StdinOnce: Schema.optionalWith<typeof Schema.Boolean, {
        nullable: true;
    }>;
    /** List of environment variable to set in the container */
    Env: Schema.optionalWith<Schema.Array$<typeof Schema.String>, {
        nullable: true;
    }>;
    /** Command to run when starting the container */
    Cmd: Schema.optionalWith<Schema.Array$<typeof Schema.String>, {
        nullable: true;
    }>;
    /** 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.optionalWith<typeof Schema.Boolean, {
        nullable: true;
    }>;
    /**
     * 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.optionalWith<Schema.Record$<typeof Schema.String, typeof Schema.Object>, {
        nullable: true;
    }>;
    /** Current directory (PWD) in the command will be launched */
    WorkingDir: Schema.optionalWith<typeof Schema.String, {
        nullable: true;
    }>;
    /** Entrypoint to run when starting the container */
    Entrypoint: Schema.optionalWith<Schema.Array$<typeof Schema.String>, {
        nullable: true;
    }>;
    /** Is network disabled */
    NetworkDisabled: Schema.optionalWith<typeof Schema.Boolean, {
        nullable: true;
    }>;
    /**
     * Mac Address of the container. Deprecated: this field is deprecated
     * since API v1.44. Use EndpointSettings.MacAddress instead.
     */
    MacAddress: Schema.optionalWith<typeof Schema.String, {
        nullable: true;
    }>;
    /** ONBUILD metadata that were defined on the image Dockerfile */
    OnBuild: Schema.optionalWith<Schema.Array$<typeof Schema.String>, {
        nullable: true;
    }>;
    /** List of labels set to this container */
    Labels: Schema.optionalWith<Schema.Record$<typeof Schema.String, typeof Schema.String>, {
        nullable: true;
    }>;
    /** Signal to stop a container */
    StopSignal: Schema.optionalWith<typeof Schema.String, {
        nullable: true;
    }>;
    /** 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;
    }>;
    HostConfig: Schema.optionalWith<Schema.Struct<{
        /** List of volume bindings for this container */
        Binds: Schema.optionalWith<Schema.Array$<typeof Schema.String>, {
            nullable: true;
        }>;
        /** File (path) where the containerId is written */
        ContainerIDFile: Schema.optionalWith<typeof Schema.String, {
            nullable: true;
        }>;
        /** Configuration of the logs for this container */
        LogConfig: Schema.optionalWith<typeof ContainerLogConfig.ContainerLogConfig, {
            nullable: true;
        }>;
        /** Network mode to use for the container */
        NetworkMode: Schema.optionalWith<Schema.Literal<["default", "none", "host", "bridge", "nat"]>, {
            nullable: true;
        }>;
        /**
         * Port mapping between the exposed port (container) and the
         * host
         */
        PortBindings: Schema.optionalWith<MobySchemas.PortSchemas.$PortMap, {
            nullable: true;
        }>;
        /** Restart policy to be used for the container */
        RestartPolicy: Schema.optionalWith<typeof ContainerRestartPolicy.ContainerRestartPolicy, {
            nullable: true;
        }>;
        /** Automatically remove container when it exits */
        AutoRemove: Schema.optionalWith<typeof Schema.Boolean, {
            nullable: true;
        }>;
        /** Name of the volume driver used to mount volumes */
        VolumeDriver: Schema.optionalWith<typeof Schema.String, {
            nullable: true;
        }>;
        /** List of volumes to take from other container */
        VolumesFrom: Schema.optionalWith<Schema.Array$<typeof Schema.String>, {
            nullable: true;
        }>;
        /** Initial console size (height,width) */
        ConsoleSize: Schema.optionalWith<Schema.filter<Schema.Array$<MobySchemas.UInt64Schemas.$UInt64>>, {
            nullable: true;
        }>;
        /**
         * Arbitrary non-identifying metadata attached to container and
         * provided to the runtime
         */
        Annotations: Schema.optionalWith<Schema.Record$<typeof Schema.String, typeof Schema.String>, {
            nullable: true;
        }>;
        /** List of kernel capabilities to add to the container */
        CapAdd: Schema.optionalWith<Schema.Array$<typeof Schema.String>, {
            nullable: true;
        }>;
        /** List of kernel capabilities to remove from the container */
        CapDrop: Schema.optionalWith<Schema.Array$<typeof Schema.String>, {
            nullable: true;
        }>;
        /** Cgroup namespace mode to use for the container */
        CgroupnsMode: Schema.optionalWith<Schema.Literal<["", "private", "host"]>, {
            nullable: true;
        }>;
        /** List of DNS servers for the container to use */
        Dns: Schema.optionalWith<Schema.Array$<typeof Schema.String>, {
            nullable: true;
        }>;
        /** List of DNS search domains */
        DnsOptions: Schema.optionalWith<Schema.Array$<typeof Schema.String>, {
            nullable: true;
        }>;
        /** List of DNS search domains */
        DnsSearch: Schema.optionalWith<Schema.Array$<typeof Schema.String>, {
            nullable: true;
        }>;
        /** List of extra hosts */
        ExtraHosts: Schema.optionalWith<Schema.Array$<typeof Schema.String>, {
            nullable: true;
        }>;
        /**
         * List of additional groups that the container process will run
         * as
         */
        GroupAdd: Schema.optionalWith<Schema.Array$<typeof Schema.String>, {
            nullable: true;
        }>;
        /** IPC namespace to use for the container */
        IpcMode: Schema.optionalWith<Schema.Literal<["none", "host", "container", "private", "shareable"]>, {
            nullable: true;
        }>;
        /** Cgroup to use for the container */
        Cgroup: Schema.optionalWith<typeof Schema.String, {
            nullable: true;
        }>;
        /** List of links (in the name:alias form) */
        Links: Schema.optionalWith<Schema.Array$<typeof Schema.String>, {
            nullable: true;
        }>;
        /** Container preference for OOM-killing */
        OomScoreAdj: Schema.optionalWith<MobySchemas.Int64Schemas.$Int64, {
            nullable: true;
        }>;
        /** PID namespace to use for the container */
        PidMode: Schema.optionalWith<typeof Schema.String, {
            nullable: true;
        }>;
        /** Is the container in privileged mode */
        Privileged: Schema.optionalWith<typeof Schema.Boolean, {
            nullable: true;
        }>;
        /** Should docker publish all exposed port for the container */
        PublishAllPorts: Schema.optionalWith<typeof Schema.Boolean, {
            nullable: true;
        }>;
        /** Is the container root filesystem in read-only */
        ReadonlyRootfs: Schema.optionalWith<typeof Schema.Boolean, {
            nullable: true;
        }>;
        /**
         * List of string values to customize labels for MLS systems,
         * such as SELinux.
         */
        SecurityOpt: Schema.optionalWith<Schema.Array$<typeof Schema.String>, {
            nullable: true;
        }>;
        /** Storage driver options per container. */
        StorageOpt: Schema.optionalWith<Schema.Record$<typeof Schema.String, typeof Schema.String>, {
            nullable: true;
        }>;
        /** List of tmpfs (mounts) used for the container */
        Tmpfs: Schema.optionalWith<Schema.Record$<typeof Schema.String, typeof Schema.String>, {
            nullable: true;
        }>;
        /** UTS namespace to use for the container */
        UTSMode: Schema.optionalWith<typeof Schema.String, {
            nullable: true;
        }>;
        /** The user namespace to use for the container */
        UsernsMode: Schema.optionalWith<typeof Schema.String, {
            nullable: true;
        }>;
        /** Total shm memory usage */
        ShmSize: Schema.optionalWith<MobySchemas.Int64Schemas.$Int64, {
            nullable: true;
        }>;
        /** List of Namespaced sysctls used for the container */
        Sysctls: Schema.optionalWith<Schema.Record$<typeof Schema.String, typeof Schema.String>, {
            nullable: true;
        }>;
        /** Runtime to use with this container */
        Runtime: Schema.optionalWith<typeof Schema.String, {
            nullable: true;
        }>;
        /** Isolation technology of the container (e.g. default, hyperv) */
        Isolation: Schema.optionalWith<Schema.Literal<["default", "process", "hyperv", ""]>, {
            nullable: true;
        }>;
        /** CPU shares (relative weight vs. other containers) */
        CpuShares: Schema.optionalWith<MobySchemas.Int64Schemas.$Int64, {
            nullable: true;
        }>;
        /** Memory limit (in bytes) */
        Memory: Schema.optionalWith<MobySchemas.Int64Schemas.$Int64, {
            nullable: true;
        }>;
        /** CPU quota */
        NanoCpus: Schema.optionalWith<MobySchemas.Int64Schemas.$Int64, {
            nullable: true;
        }>;
        /** Parent cgroup. */
        CgroupParent: Schema.optionalWith<typeof Schema.String, {
            nullable: true;
        }>;
        /** Block IO weight (relative weight vs. other containers) */
        BlkioWeight: Schema.optionalWith<MobySchemas.UInt16Schemas.$UInt16, {
            nullable: true;
        }>;
        BlkioWeightDevice: Schema.optionalWith<Schema.Array$<Schema.NullOr<typeof WeightDevice.WeightDevice>>, {
            nullable: true;
        }>;
        BlkioDeviceReadBps: Schema.optionalWith<Schema.Array$<Schema.NullOr<typeof ThrottleDevice.ThrottleDevice>>, {
            nullable: true;
        }>;
        BlkioDeviceWriteBps: Schema.optionalWith<Schema.Array$<Schema.NullOr<typeof ThrottleDevice.ThrottleDevice>>, {
            nullable: true;
        }>;
        BlkioDeviceReadIOps: Schema.optionalWith<Schema.Array$<Schema.NullOr<typeof ThrottleDevice.ThrottleDevice>>, {
            nullable: true;
        }>;
        BlkioDeviceWriteIOps: Schema.optionalWith<Schema.Array$<Schema.NullOr<typeof ThrottleDevice.ThrottleDevice>>, {
            nullable: true;
        }>;
        /** CPU CFS (Completely Fair Scheduler) period */
        CpuPeriod: Schema.optionalWith<MobySchemas.Int64Schemas.$Int64, {
            nullable: true;
        }>;
        /** CPU CFS (Completely Fair Scheduler) quota */
        CpuQuota: Schema.optionalWith<MobySchemas.Int64Schemas.$Int64, {
            nullable: true;
        }>;
        /** CPU real-time period */
        CpuRealtimePeriod: Schema.optionalWith<MobySchemas.Int64Schemas.$Int64, {
            nullable: true;
        }>;
        /** CPU real-time runtime */
        CpuRealtimeRuntime: Schema.optionalWith<MobySchemas.Int64Schemas.$Int64, {
            nullable: true;
        }>;
        /** CpusetCpus 0-2, 0,1 */
        CpusetCpus: Schema.optionalWith<typeof Schema.String, {
            nullable: true;
        }>;
        /** CpusetMems 0-2, 0,1 */
        CpusetMems: Schema.optionalWith<typeof Schema.String, {
            nullable: true;
        }>;
        /** List of devices to map inside the container */
        Devices: Schema.optionalWith<Schema.Array$<Schema.NullOr<typeof ContainerDeviceMapping.ContainerDeviceMapping>>, {
            nullable: true;
        }>;
        /** List of rule to be added to the device cgroup */
        DeviceCgroupRules: Schema.optionalWith<Schema.Array$<typeof Schema.String>, {
            nullable: true;
        }>;
        /** List of device requests for device drivers */
        DeviceRequests: Schema.optionalWith<Schema.Array$<Schema.NullOr<typeof ContainerDeviceRequest.ContainerDeviceRequest>>, {
            nullable: true;
        }>;
        /**
         * KernelMemory specifies the kernel memory limit (in bytes) for
         * the container. Deprecated: kernel 5.4 deprecated
         * kmem.limit_in_bytes.
         */
        KernelMemory: Schema.optionalWith<MobySchemas.Int64Schemas.$Int64, {
            nullable: true;
        }>;
        /** Hard limit for kernel TCP buffer memory (in bytes) */
        KernelMemoryTCP: Schema.optionalWith<MobySchemas.Int64Schemas.$Int64, {
            nullable: true;
        }>;
        /** Memory soft limit (in bytes) */
        MemoryReservation: Schema.optionalWith<MobySchemas.Int64Schemas.$Int64, {
            nullable: true;
        }>;
        /**
         * Total memory usage (memory + swap); set `-1` to enable
         * unlimited swap
         */
        MemorySwap: Schema.optionalWith<MobySchemas.Int64Schemas.$Int64, {
            nullable: true;
        }>;
        /** Tuning container memory swappiness behaviour */
        MemorySwappiness: Schema.optionalWith<MobySchemas.Int64Schemas.$Int64, {
            nullable: true;
        }>;
        /** Whether to disable OOM Killer or not */
        OomKillDisable: Schema.optionalWith<typeof Schema.Boolean, {
            nullable: true;
        }>;
        /**
         * Setting PIDs limit for a container; Set `0` or `-1` for
         * unlimited, or `null` to not change.
         */
        PidsLimit: Schema.optionalWith<MobySchemas.Int64Schemas.$Int64, {
            nullable: true;
        }>;
        /** List of ulimits to be set in the container */
        Ulimits: Schema.optionalWith<Schema.Array$<Schema.NullOr<typeof ContainerUlimit.ContainerUlimit>>, {
            nullable: true;
        }>;
        /** Cpu count */
        CpuCount: Schema.optionalWith<MobySchemas.Int64Schemas.$Int64, {
            nullable: true;
        }>;
        /** CPU percent */
        CpuPercent: Schema.optionalWith<MobySchemas.Int64Schemas.$Int64, {
            nullable: true;
        }>;
        /** Maximum IOps for the container system drive */
        IOMaximumIOps: Schema.optionalWith<MobySchemas.UInt64Schemas.$UInt64, {
            nullable: true;
        }>;
        /** Maximum IO in bytes per second for the container system drive */
        IOMaximumBandwidth: Schema.optionalWith<MobySchemas.UInt64Schemas.$UInt64, {
            nullable: true;
        }>;
        /** Mounts specs used by the container */
        Mounts: Schema.optionalWith<Schema.Array$<Schema.NullOr<typeof Mount.Mount>>, {
            nullable: true;
        }>;
        /**
         * MaskedPaths is the list of paths to be masked inside the
         * container (this overrides the default set of paths)
         */
        MaskedPaths: Schema.optionalWith<Schema.Array$<typeof Schema.String>, {
            nullable: true;
        }>;
        /**
         * ReadonlyPaths is the list of paths to be set as read-only
         * inside the container (this overrides the default set of
         * paths)
         */
        ReadonlyPaths: Schema.optionalWith<Schema.Array$<typeof Schema.String>, {
            nullable: true;
        }>;
        /**
         * Run a custom init inside the container, if null, use the
         * daemon's configured settings
         */
        Init: Schema.optionalWith<typeof Schema.Boolean, {
            nullable: true;
        }>;
    }>, {
        nullable: true;
    }>;
    NetworkingConfig: Schema.optionalWith<typeof NetworkNetworkingConfig.NetworkNetworkingConfig, {
        nullable: true;
    }>;
}>, never, {
    readonly MacAddress?: string | undefined;
} & {
    readonly Hostname?: string | undefined;
} & {
    readonly Domainname?: string | undefined;
} & {
    readonly User?: string | undefined;
} & {
    readonly AttachStdin?: boolean | undefined;
} & {
    readonly AttachStdout?: boolean | undefined;
} & {
    readonly AttachStderr?: boolean | undefined;
} & {
    readonly Tty?: boolean | undefined;
} & {
    readonly OpenStdin?: boolean | undefined;
} & {
    readonly StdinOnce?: boolean | undefined;
} & {
    readonly Image: string;
} & {
    readonly WorkingDir?: string | undefined;
} & {
    readonly ExposedPorts?: {
        readonly [x: `${number}`]: object;
        readonly [x: `${number}/tcp`]: object;
        readonly [x: `${number}/udp`]: object;
    } | undefined;
} & {
    readonly Env?: readonly string[] | undefined;
} & {
    readonly Cmd?: readonly string[] | undefined;
} & {
    readonly Healthcheck?: ContainerHealthConfig.ContainerHealthConfig | undefined;
} & {
    readonly ArgsEscaped?: boolean | undefined;
} & {
    readonly Volumes?: {
        readonly [x: string]: object;
    } | undefined;
} & {
    readonly Entrypoint?: readonly string[] | undefined;
} & {
    readonly NetworkDisabled?: boolean | undefined;
} & {
    readonly OnBuild?: readonly string[] | undefined;
} & {
    readonly Labels?: {
        readonly [x: string]: string;
    } | undefined;
} & {
    readonly StopSignal?: string | undefined;
} & {
    readonly StopTimeout?: MobySchemas.Int64Schemas.Int64Brand | undefined;
} & {
    readonly Shell?: readonly string[] | undefined;
} & {
    readonly HostConfig?: {
        readonly Links?: readonly string[] | undefined;
        readonly Binds?: readonly string[] | undefined;
        readonly ContainerIDFile?: string | undefined;
        readonly LogConfig?: ContainerLogConfig.ContainerLogConfig | undefined;
        readonly NetworkMode?: "default" | "none" | "host" | "bridge" | "nat" | undefined;
        readonly PortBindings?: {
            readonly [x: `${number}`]: readonly {
                readonly HostIp?: string | undefined;
                readonly HostPort: string;
            }[];
            readonly [x: `${number}/tcp`]: readonly {
                readonly HostIp?: string | undefined;
                readonly HostPort: string;
            }[];
            readonly [x: `${number}/udp`]: readonly {
                readonly HostIp?: string | undefined;
                readonly HostPort: string;
            }[];
        } | undefined;
        readonly RestartPolicy?: ContainerRestartPolicy.ContainerRestartPolicy | undefined;
        readonly AutoRemove?: boolean | undefined;
        readonly VolumeDriver?: string | undefined;
        readonly VolumesFrom?: readonly string[] | undefined;
        readonly ConsoleSize?: readonly MobySchemas.UInt64Schemas.UInt64Brand[] | undefined;
        readonly Annotations?: {
            readonly [x: string]: string;
        } | undefined;
        readonly CapAdd?: readonly string[] | undefined;
        readonly CapDrop?: readonly string[] | undefined;
        readonly CgroupnsMode?: "" | "private" | "host" | undefined;
        readonly Dns?: readonly string[] | undefined;
        readonly DnsOptions?: readonly string[] | undefined;
        readonly DnsSearch?: readonly string[] | undefined;
        readonly ExtraHosts?: readonly string[] | undefined;
        readonly GroupAdd?: readonly string[] | undefined;
        readonly IpcMode?: "private" | "none" | "host" | "container" | "shareable" | undefined;
        readonly Cgroup?: string | undefined;
        readonly OomScoreAdj?: MobySchemas.Int64Schemas.Int64Brand | undefined;
        readonly PidMode?: string | undefined;
        readonly Privileged?: boolean | undefined;
        readonly PublishAllPorts?: boolean | undefined;
        readonly ReadonlyRootfs?: boolean | undefined;
        readonly SecurityOpt?: readonly string[] | undefined;
        readonly StorageOpt?: {
            readonly [x: string]: string;
        } | undefined;
        readonly Tmpfs?: {
            readonly [x: string]: string;
        } | undefined;
        readonly UTSMode?: string | undefined;
        readonly UsernsMode?: string | undefined;
        readonly ShmSize?: MobySchemas.Int64Schemas.Int64Brand | undefined;
        readonly Sysctls?: {
            readonly [x: string]: string;
        } | undefined;
        readonly Runtime?: string | undefined;
        readonly Isolation?: "" | "default" | "process" | "hyperv" | undefined;
        readonly CpuShares?: MobySchemas.Int64Schemas.Int64Brand | undefined;
        readonly Memory?: MobySchemas.Int64Schemas.Int64Brand | undefined;
        readonly NanoCpus?: MobySchemas.Int64Schemas.Int64Brand | undefined;
        readonly CgroupParent?: string | undefined;
        readonly BlkioWeight?: MobySchemas.UInt16Schemas.UInt16Brand | undefined;
        readonly BlkioWeightDevice?: readonly (WeightDevice.WeightDevice | null)[] | undefined;
        readonly BlkioDeviceReadBps?: readonly (ThrottleDevice.ThrottleDevice | null)[] | undefined;
        readonly BlkioDeviceWriteBps?: readonly (ThrottleDevice.ThrottleDevice | null)[] | undefined;
        readonly BlkioDeviceReadIOps?: readonly (ThrottleDevice.ThrottleDevice | null)[] | undefined;
        readonly BlkioDeviceWriteIOps?: readonly (ThrottleDevice.ThrottleDevice | null)[] | undefined;
        readonly CpuPeriod?: MobySchemas.Int64Schemas.Int64Brand | undefined;
        readonly CpuQuota?: MobySchemas.Int64Schemas.Int64Brand | undefined;
        readonly CpuRealtimePeriod?: MobySchemas.Int64Schemas.Int64Brand | undefined;
        readonly CpuRealtimeRuntime?: MobySchemas.Int64Schemas.Int64Brand | undefined;
        readonly CpusetCpus?: string | undefined;
        readonly CpusetMems?: string | undefined;
        readonly Devices?: readonly (ContainerDeviceMapping.ContainerDeviceMapping | null)[] | undefined;
        readonly DeviceCgroupRules?: readonly string[] | undefined;
        readonly DeviceRequests?: readonly (ContainerDeviceRequest.ContainerDeviceRequest | null)[] | undefined;
        readonly KernelMemory?: MobySchemas.Int64Schemas.Int64Brand | undefined;
        readonly KernelMemoryTCP?: MobySchemas.Int64Schemas.Int64Brand | undefined;
        readonly MemoryReservation?: MobySchemas.Int64Schemas.Int64Brand | undefined;
        readonly MemorySwap?: MobySchemas.Int64Schemas.Int64Brand | undefined;
        readonly MemorySwappiness?: MobySchemas.Int64Schemas.Int64Brand | undefined;
        readonly OomKillDisable?: boolean | undefined;
        readonly PidsLimit?: MobySchemas.Int64Schemas.Int64Brand | undefined;
        readonly Ulimits?: readonly (ContainerUlimit.ContainerUlimit | null)[] | undefined;
        readonly CpuCount?: MobySchemas.Int64Schemas.Int64Brand | undefined;
        readonly CpuPercent?: MobySchemas.Int64Schemas.Int64Brand | undefined;
        readonly IOMaximumIOps?: MobySchemas.UInt64Schemas.UInt64Brand | undefined;
        readonly IOMaximumBandwidth?: MobySchemas.UInt64Schemas.UInt64Brand | undefined;
        readonly Mounts?: readonly (Mount.Mount | null)[] | undefined;
        readonly MaskedPaths?: readonly string[] | undefined;
        readonly ReadonlyPaths?: readonly string[] | undefined;
        readonly Init?: boolean | undefined;
    } | undefined;
} & {
    readonly NetworkingConfig?: NetworkNetworkingConfig.NetworkNetworkingConfig | undefined;
}, {}, {}>;
export declare class ContainerCreateRequest extends ContainerCreateRequest_base {
}
export {};
//# sourceMappingURL=ContainerCreateRequest.generated.d.ts.map