import * as Schema from "effect/Schema";
import * as MobySchemas from "../schemas/index.js";
import * as ContainerHealthConfig from "./ContainerHealthConfig.generated.js";
import * as ContainerUlimit from "./ContainerUlimit.generated.js";
import * as Mount from "./Mount.generated.js";
import * as SwarmConfigReference from "./SwarmConfigReference.generated.js";
import * as SwarmDNSConfig from "./SwarmDNSConfig.generated.js";
import * as SwarmPrivileges from "./SwarmPrivileges.generated.js";
import * as SwarmSecretReference from "./SwarmSecretReference.generated.js";
declare const SwarmContainerSpec_base: Schema.Class<SwarmContainerSpec, {
    Image: Schema.optional<typeof Schema.String>;
    Labels: Schema.optionalWith<Schema.Record$<typeof Schema.String, typeof Schema.String>, {
        nullable: true;
    }>;
    Command: Schema.optionalWith<Schema.Array$<typeof Schema.String>, {
        nullable: true;
    }>;
    Args: Schema.optionalWith<Schema.Array$<typeof Schema.String>, {
        nullable: true;
    }>;
    Hostname: Schema.optional<typeof Schema.String>;
    Env: Schema.optionalWith<Schema.Array$<typeof Schema.String>, {
        nullable: true;
    }>;
    Dir: Schema.optional<typeof Schema.String>;
    User: Schema.optional<typeof Schema.String>;
    Groups: Schema.optionalWith<Schema.Array$<typeof Schema.String>, {
        nullable: true;
    }>;
    Privileges: Schema.optionalWith<typeof SwarmPrivileges.SwarmPrivileges, {
        nullable: true;
    }>;
    Init: Schema.optionalWith<typeof Schema.Boolean, {
        nullable: true;
    }>;
    StopSignal: Schema.optional<typeof Schema.String>;
    TTY: Schema.optional<typeof Schema.Boolean>;
    OpenStdin: Schema.optional<typeof Schema.Boolean>;
    ReadOnly: Schema.optional<typeof Schema.Boolean>;
    Mounts: Schema.optionalWith<Schema.Array$<Schema.NullOr<typeof Mount.Mount>>, {
        nullable: true;
    }>;
    StopGracePeriod: Schema.optionalWith<MobySchemas.Int64Schemas.$Int64, {
        nullable: true;
    }>;
    Healthcheck: Schema.optionalWith<typeof ContainerHealthConfig.ContainerHealthConfig, {
        nullable: true;
    }>;
    Hosts: Schema.optionalWith<Schema.Array$<typeof Schema.String>, {
        nullable: true;
    }>;
    DNSConfig: Schema.optionalWith<typeof SwarmDNSConfig.SwarmDNSConfig, {
        nullable: true;
    }>;
    Secrets: Schema.optionalWith<Schema.Array$<Schema.NullOr<typeof SwarmSecretReference.SwarmSecretReference>>, {
        nullable: true;
    }>;
    Configs: Schema.optionalWith<Schema.Array$<Schema.NullOr<typeof SwarmConfigReference.SwarmConfigReference>>, {
        nullable: true;
    }>;
    Isolation: Schema.optional<typeof Schema.String>;
    Sysctls: Schema.optionalWith<Schema.Record$<typeof Schema.String, typeof Schema.String>, {
        nullable: true;
    }>;
    CapabilityAdd: Schema.optionalWith<Schema.Array$<typeof Schema.String>, {
        nullable: true;
    }>;
    CapabilityDrop: Schema.optionalWith<Schema.Array$<typeof Schema.String>, {
        nullable: true;
    }>;
    Ulimits: Schema.optionalWith<Schema.Array$<Schema.NullOr<typeof ContainerUlimit.ContainerUlimit>>, {
        nullable: true;
    }>;
    OomScoreAdj: Schema.optional<MobySchemas.Int64Schemas.$Int64>;
}, Schema.Struct.Encoded<{
    Image: Schema.optional<typeof Schema.String>;
    Labels: Schema.optionalWith<Schema.Record$<typeof Schema.String, typeof Schema.String>, {
        nullable: true;
    }>;
    Command: Schema.optionalWith<Schema.Array$<typeof Schema.String>, {
        nullable: true;
    }>;
    Args: Schema.optionalWith<Schema.Array$<typeof Schema.String>, {
        nullable: true;
    }>;
    Hostname: Schema.optional<typeof Schema.String>;
    Env: Schema.optionalWith<Schema.Array$<typeof Schema.String>, {
        nullable: true;
    }>;
    Dir: Schema.optional<typeof Schema.String>;
    User: Schema.optional<typeof Schema.String>;
    Groups: Schema.optionalWith<Schema.Array$<typeof Schema.String>, {
        nullable: true;
    }>;
    Privileges: Schema.optionalWith<typeof SwarmPrivileges.SwarmPrivileges, {
        nullable: true;
    }>;
    Init: Schema.optionalWith<typeof Schema.Boolean, {
        nullable: true;
    }>;
    StopSignal: Schema.optional<typeof Schema.String>;
    TTY: Schema.optional<typeof Schema.Boolean>;
    OpenStdin: Schema.optional<typeof Schema.Boolean>;
    ReadOnly: Schema.optional<typeof Schema.Boolean>;
    Mounts: Schema.optionalWith<Schema.Array$<Schema.NullOr<typeof Mount.Mount>>, {
        nullable: true;
    }>;
    StopGracePeriod: Schema.optionalWith<MobySchemas.Int64Schemas.$Int64, {
        nullable: true;
    }>;
    Healthcheck: Schema.optionalWith<typeof ContainerHealthConfig.ContainerHealthConfig, {
        nullable: true;
    }>;
    Hosts: Schema.optionalWith<Schema.Array$<typeof Schema.String>, {
        nullable: true;
    }>;
    DNSConfig: Schema.optionalWith<typeof SwarmDNSConfig.SwarmDNSConfig, {
        nullable: true;
    }>;
    Secrets: Schema.optionalWith<Schema.Array$<Schema.NullOr<typeof SwarmSecretReference.SwarmSecretReference>>, {
        nullable: true;
    }>;
    Configs: Schema.optionalWith<Schema.Array$<Schema.NullOr<typeof SwarmConfigReference.SwarmConfigReference>>, {
        nullable: true;
    }>;
    Isolation: Schema.optional<typeof Schema.String>;
    Sysctls: Schema.optionalWith<Schema.Record$<typeof Schema.String, typeof Schema.String>, {
        nullable: true;
    }>;
    CapabilityAdd: Schema.optionalWith<Schema.Array$<typeof Schema.String>, {
        nullable: true;
    }>;
    CapabilityDrop: Schema.optionalWith<Schema.Array$<typeof Schema.String>, {
        nullable: true;
    }>;
    Ulimits: Schema.optionalWith<Schema.Array$<Schema.NullOr<typeof ContainerUlimit.ContainerUlimit>>, {
        nullable: true;
    }>;
    OomScoreAdj: Schema.optional<MobySchemas.Int64Schemas.$Int64>;
}>, never, {
    readonly Secrets?: readonly (SwarmSecretReference.SwarmSecretReference | null)[] | undefined;
} & {
    readonly Hostname?: string | undefined;
} & {
    readonly User?: string | undefined;
} & {
    readonly OpenStdin?: boolean | undefined;
} & {
    readonly Image?: string | undefined;
} & {
    readonly Env?: readonly string[] | undefined;
} & {
    readonly Healthcheck?: ContainerHealthConfig.ContainerHealthConfig | undefined;
} & {
    readonly Labels?: {
        readonly [x: string]: string;
    } | undefined;
} & {
    readonly StopSignal?: string | undefined;
} & {
    readonly ReadOnly?: boolean | undefined;
} & {
    readonly OomScoreAdj?: MobySchemas.Int64Schemas.Int64Brand | undefined;
} & {
    readonly Sysctls?: {
        readonly [x: string]: string;
    } | undefined;
} & {
    readonly Isolation?: string | undefined;
} & {
    readonly Ulimits?: readonly (ContainerUlimit.ContainerUlimit | null)[] | undefined;
} & {
    readonly Mounts?: readonly (Mount.Mount | null)[] | undefined;
} & {
    readonly Init?: boolean | undefined;
} & {
    readonly Args?: readonly string[] | undefined;
} & {
    readonly Command?: readonly string[] | undefined;
} & {
    readonly Dir?: string | undefined;
} & {
    readonly Groups?: readonly string[] | undefined;
} & {
    readonly Privileges?: SwarmPrivileges.SwarmPrivileges | undefined;
} & {
    readonly TTY?: boolean | undefined;
} & {
    readonly StopGracePeriod?: MobySchemas.Int64Schemas.Int64Brand | undefined;
} & {
    readonly Hosts?: readonly string[] | undefined;
} & {
    readonly DNSConfig?: SwarmDNSConfig.SwarmDNSConfig | undefined;
} & {
    readonly Configs?: readonly (SwarmConfigReference.SwarmConfigReference | null)[] | undefined;
} & {
    readonly CapabilityAdd?: readonly string[] | undefined;
} & {
    readonly CapabilityDrop?: readonly string[] | undefined;
}, {}, {}>;
export declare class SwarmContainerSpec extends SwarmContainerSpec_base {
}
export {};
//# sourceMappingURL=SwarmContainerSpec.generated.d.ts.map