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 ContainerUlimit from "./ContainerUlimit.generated.js";
import * as ThrottleDevice from "./ThrottleDevice.generated.js";
import * as WeightDevice from "./WeightDevice.generated.js";
declare const ContainerResources_base: Schema.Class<ContainerResources, {
    /** CPU shares (relative weight vs. other containers) */
    CpuShares: MobySchemas.Int64Schemas.$Int64;
    /** Memory limit (in bytes) */
    Memory: MobySchemas.Int64Schemas.$Int64;
    /** CPU quota */
    NanoCpus: MobySchemas.Int64Schemas.$Int64;
    /** Parent cgroup. */
    CgroupParent: typeof Schema.String;
    /** Block IO weight (relative weight vs. other containers) */
    BlkioWeight: MobySchemas.UInt16Schemas.$UInt16;
    BlkioWeightDevice: Schema.NullOr<Schema.Array$<Schema.NullOr<typeof WeightDevice.WeightDevice>>>;
    BlkioDeviceReadBps: Schema.NullOr<Schema.Array$<Schema.NullOr<typeof ThrottleDevice.ThrottleDevice>>>;
    BlkioDeviceWriteBps: Schema.NullOr<Schema.Array$<Schema.NullOr<typeof ThrottleDevice.ThrottleDevice>>>;
    BlkioDeviceReadIOps: Schema.NullOr<Schema.Array$<Schema.NullOr<typeof ThrottleDevice.ThrottleDevice>>>;
    BlkioDeviceWriteIOps: Schema.NullOr<Schema.Array$<Schema.NullOr<typeof ThrottleDevice.ThrottleDevice>>>;
    /** CPU CFS (Completely Fair Scheduler) period */
    CpuPeriod: MobySchemas.Int64Schemas.$Int64;
    /** CPU CFS (Completely Fair Scheduler) quota */
    CpuQuota: MobySchemas.Int64Schemas.$Int64;
    /** CPU real-time period */
    CpuRealtimePeriod: MobySchemas.Int64Schemas.$Int64;
    /** CPU real-time runtime */
    CpuRealtimeRuntime: MobySchemas.Int64Schemas.$Int64;
    /** CpusetCpus 0-2, 0,1 */
    CpusetCpus: typeof Schema.String;
    /** CpusetMems 0-2, 0,1 */
    CpusetMems: typeof Schema.String;
    /** List of devices to map inside the container */
    Devices: Schema.NullOr<Schema.Array$<Schema.NullOr<typeof ContainerDeviceMapping.ContainerDeviceMapping>>>;
    /** List of rule to be added to the device cgroup */
    DeviceCgroupRules: Schema.NullOr<Schema.Array$<typeof Schema.String>>;
    /** List of device requests for device drivers */
    DeviceRequests: Schema.NullOr<Schema.Array$<Schema.NullOr<typeof ContainerDeviceRequest.ContainerDeviceRequest>>>;
    /**
     * KernelMemory specifies the kernel memory limit (in bytes) for the
     * container. Deprecated: kernel 5.4 deprecated kmem.limit_in_bytes.
     */
    KernelMemory: Schema.optional<MobySchemas.Int64Schemas.$Int64>;
    /** Hard limit for kernel TCP buffer memory (in bytes) */
    KernelMemoryTCP: Schema.optional<MobySchemas.Int64Schemas.$Int64>;
    /** Memory soft limit (in bytes) */
    MemoryReservation: MobySchemas.Int64Schemas.$Int64;
    /** Total memory usage (memory + swap); set `-1` to enable unlimited swap */
    MemorySwap: MobySchemas.Int64Schemas.$Int64;
    /** Tuning container memory swappiness behaviour */
    MemorySwappiness: Schema.NullOr<MobySchemas.Int64Schemas.$Int64>;
    /** Whether to disable OOM Killer or not */
    OomKillDisable: Schema.NullOr<typeof Schema.Boolean>;
    /**
     * Setting PIDs limit for a container; Set `0` or `-1` for unlimited, or
     * `null` to not change.
     */
    PidsLimit: Schema.NullOr<MobySchemas.Int64Schemas.$Int64>;
    /** List of ulimits to be set in the container */
    Ulimits: Schema.NullOr<Schema.Array$<Schema.NullOr<typeof ContainerUlimit.ContainerUlimit>>>;
    /** Cpu count */
    CpuCount: MobySchemas.Int64Schemas.$Int64;
    /** CPU percent */
    CpuPercent: MobySchemas.Int64Schemas.$Int64;
    /** Maximum IOps for the container system drive */
    IOMaximumIOps: MobySchemas.UInt64Schemas.$UInt64;
    /** Maximum IO in bytes per second for the container system drive */
    IOMaximumBandwidth: MobySchemas.UInt64Schemas.$UInt64;
}, Schema.Struct.Encoded<{
    /** CPU shares (relative weight vs. other containers) */
    CpuShares: MobySchemas.Int64Schemas.$Int64;
    /** Memory limit (in bytes) */
    Memory: MobySchemas.Int64Schemas.$Int64;
    /** CPU quota */
    NanoCpus: MobySchemas.Int64Schemas.$Int64;
    /** Parent cgroup. */
    CgroupParent: typeof Schema.String;
    /** Block IO weight (relative weight vs. other containers) */
    BlkioWeight: MobySchemas.UInt16Schemas.$UInt16;
    BlkioWeightDevice: Schema.NullOr<Schema.Array$<Schema.NullOr<typeof WeightDevice.WeightDevice>>>;
    BlkioDeviceReadBps: Schema.NullOr<Schema.Array$<Schema.NullOr<typeof ThrottleDevice.ThrottleDevice>>>;
    BlkioDeviceWriteBps: Schema.NullOr<Schema.Array$<Schema.NullOr<typeof ThrottleDevice.ThrottleDevice>>>;
    BlkioDeviceReadIOps: Schema.NullOr<Schema.Array$<Schema.NullOr<typeof ThrottleDevice.ThrottleDevice>>>;
    BlkioDeviceWriteIOps: Schema.NullOr<Schema.Array$<Schema.NullOr<typeof ThrottleDevice.ThrottleDevice>>>;
    /** CPU CFS (Completely Fair Scheduler) period */
    CpuPeriod: MobySchemas.Int64Schemas.$Int64;
    /** CPU CFS (Completely Fair Scheduler) quota */
    CpuQuota: MobySchemas.Int64Schemas.$Int64;
    /** CPU real-time period */
    CpuRealtimePeriod: MobySchemas.Int64Schemas.$Int64;
    /** CPU real-time runtime */
    CpuRealtimeRuntime: MobySchemas.Int64Schemas.$Int64;
    /** CpusetCpus 0-2, 0,1 */
    CpusetCpus: typeof Schema.String;
    /** CpusetMems 0-2, 0,1 */
    CpusetMems: typeof Schema.String;
    /** List of devices to map inside the container */
    Devices: Schema.NullOr<Schema.Array$<Schema.NullOr<typeof ContainerDeviceMapping.ContainerDeviceMapping>>>;
    /** List of rule to be added to the device cgroup */
    DeviceCgroupRules: Schema.NullOr<Schema.Array$<typeof Schema.String>>;
    /** List of device requests for device drivers */
    DeviceRequests: Schema.NullOr<Schema.Array$<Schema.NullOr<typeof ContainerDeviceRequest.ContainerDeviceRequest>>>;
    /**
     * KernelMemory specifies the kernel memory limit (in bytes) for the
     * container. Deprecated: kernel 5.4 deprecated kmem.limit_in_bytes.
     */
    KernelMemory: Schema.optional<MobySchemas.Int64Schemas.$Int64>;
    /** Hard limit for kernel TCP buffer memory (in bytes) */
    KernelMemoryTCP: Schema.optional<MobySchemas.Int64Schemas.$Int64>;
    /** Memory soft limit (in bytes) */
    MemoryReservation: MobySchemas.Int64Schemas.$Int64;
    /** Total memory usage (memory + swap); set `-1` to enable unlimited swap */
    MemorySwap: MobySchemas.Int64Schemas.$Int64;
    /** Tuning container memory swappiness behaviour */
    MemorySwappiness: Schema.NullOr<MobySchemas.Int64Schemas.$Int64>;
    /** Whether to disable OOM Killer or not */
    OomKillDisable: Schema.NullOr<typeof Schema.Boolean>;
    /**
     * Setting PIDs limit for a container; Set `0` or `-1` for unlimited, or
     * `null` to not change.
     */
    PidsLimit: Schema.NullOr<MobySchemas.Int64Schemas.$Int64>;
    /** List of ulimits to be set in the container */
    Ulimits: Schema.NullOr<Schema.Array$<Schema.NullOr<typeof ContainerUlimit.ContainerUlimit>>>;
    /** Cpu count */
    CpuCount: MobySchemas.Int64Schemas.$Int64;
    /** CPU percent */
    CpuPercent: MobySchemas.Int64Schemas.$Int64;
    /** Maximum IOps for the container system drive */
    IOMaximumIOps: MobySchemas.UInt64Schemas.$UInt64;
    /** Maximum IO in bytes per second for the container system drive */
    IOMaximumBandwidth: MobySchemas.UInt64Schemas.$UInt64;
}>, never, {
    readonly CpuShares: MobySchemas.Int64Schemas.Int64Brand;
} & {
    readonly Memory: MobySchemas.Int64Schemas.Int64Brand;
} & {
    readonly NanoCpus: MobySchemas.Int64Schemas.Int64Brand;
} & {
    readonly CgroupParent: string;
} & {
    readonly BlkioWeight: MobySchemas.UInt16Schemas.UInt16Brand;
} & {
    readonly BlkioWeightDevice: readonly (WeightDevice.WeightDevice | null)[] | null;
} & {
    readonly BlkioDeviceReadBps: readonly (ThrottleDevice.ThrottleDevice | null)[] | null;
} & {
    readonly BlkioDeviceWriteBps: readonly (ThrottleDevice.ThrottleDevice | null)[] | null;
} & {
    readonly BlkioDeviceReadIOps: readonly (ThrottleDevice.ThrottleDevice | null)[] | null;
} & {
    readonly BlkioDeviceWriteIOps: readonly (ThrottleDevice.ThrottleDevice | null)[] | null;
} & {
    readonly CpuPeriod: MobySchemas.Int64Schemas.Int64Brand;
} & {
    readonly CpuQuota: MobySchemas.Int64Schemas.Int64Brand;
} & {
    readonly CpuRealtimePeriod: MobySchemas.Int64Schemas.Int64Brand;
} & {
    readonly CpuRealtimeRuntime: MobySchemas.Int64Schemas.Int64Brand;
} & {
    readonly CpusetCpus: string;
} & {
    readonly CpusetMems: string;
} & {
    readonly Devices: readonly (ContainerDeviceMapping.ContainerDeviceMapping | null)[] | null;
} & {
    readonly DeviceCgroupRules: readonly string[] | null;
} & {
    readonly DeviceRequests: readonly (ContainerDeviceRequest.ContainerDeviceRequest | null)[] | null;
} & {
    readonly KernelMemory?: MobySchemas.Int64Schemas.Int64Brand | undefined;
} & {
    readonly KernelMemoryTCP?: MobySchemas.Int64Schemas.Int64Brand | undefined;
} & {
    readonly MemoryReservation: MobySchemas.Int64Schemas.Int64Brand;
} & {
    readonly MemorySwap: MobySchemas.Int64Schemas.Int64Brand;
} & {
    readonly MemorySwappiness: MobySchemas.Int64Schemas.Int64Brand | null;
} & {
    readonly OomKillDisable: boolean | null;
} & {
    readonly PidsLimit: MobySchemas.Int64Schemas.Int64Brand | null;
} & {
    readonly Ulimits: readonly (ContainerUlimit.ContainerUlimit | null)[] | null;
} & {
    readonly CpuCount: MobySchemas.Int64Schemas.Int64Brand;
} & {
    readonly CpuPercent: MobySchemas.Int64Schemas.Int64Brand;
} & {
    readonly IOMaximumIOps: MobySchemas.UInt64Schemas.UInt64Brand;
} & {
    readonly IOMaximumBandwidth: MobySchemas.UInt64Schemas.UInt64Brand;
}, {}, {}>;
export declare class ContainerResources extends ContainerResources_base {
}
export {};
//# sourceMappingURL=ContainerResources.generated.d.ts.map