import * as Schema from "effect/Schema";
import * as SwarmCAConfig from "./SwarmCAConfig.generated.js";
import * as SwarmDispatcherConfig from "./SwarmDispatcherConfig.generated.js";
import * as SwarmEncryptionConfig from "./SwarmEncryptionConfig.generated.js";
import * as SwarmOrchestrationConfig from "./SwarmOrchestrationConfig.generated.js";
import * as SwarmRaftConfig from "./SwarmRaftConfig.generated.js";
import * as SwarmTaskDefaults from "./SwarmTaskDefaults.generated.js";
declare const SwarmSpec_base: Schema.Class<SwarmSpec, {
    Orchestration: Schema.optionalWith<typeof SwarmOrchestrationConfig.SwarmOrchestrationConfig, {
        nullable: true;
    }>;
    Raft: Schema.optionalWith<typeof SwarmRaftConfig.SwarmRaftConfig, {
        nullable: true;
    }>;
    Dispatcher: Schema.optionalWith<typeof SwarmDispatcherConfig.SwarmDispatcherConfig, {
        nullable: true;
    }>;
    CAConfig: Schema.optionalWith<typeof SwarmCAConfig.SwarmCAConfig, {
        nullable: true;
    }>;
    TaskDefaults: Schema.optionalWith<typeof SwarmTaskDefaults.SwarmTaskDefaults, {
        nullable: true;
    }>;
    EncryptionConfig: Schema.optionalWith<typeof SwarmEncryptionConfig.SwarmEncryptionConfig, {
        nullable: true;
    }>;
    Name: Schema.optional<typeof Schema.String>;
    Labels: Schema.NullOr<Schema.Record$<typeof Schema.String, typeof Schema.String>>;
}, Schema.Struct.Encoded<{
    Orchestration: Schema.optionalWith<typeof SwarmOrchestrationConfig.SwarmOrchestrationConfig, {
        nullable: true;
    }>;
    Raft: Schema.optionalWith<typeof SwarmRaftConfig.SwarmRaftConfig, {
        nullable: true;
    }>;
    Dispatcher: Schema.optionalWith<typeof SwarmDispatcherConfig.SwarmDispatcherConfig, {
        nullable: true;
    }>;
    CAConfig: Schema.optionalWith<typeof SwarmCAConfig.SwarmCAConfig, {
        nullable: true;
    }>;
    TaskDefaults: Schema.optionalWith<typeof SwarmTaskDefaults.SwarmTaskDefaults, {
        nullable: true;
    }>;
    EncryptionConfig: Schema.optionalWith<typeof SwarmEncryptionConfig.SwarmEncryptionConfig, {
        nullable: true;
    }>;
    Name: Schema.optional<typeof Schema.String>;
    Labels: Schema.NullOr<Schema.Record$<typeof Schema.String, typeof Schema.String>>;
}>, never, {
    readonly Name?: string | undefined;
} & {
    readonly Labels: {
        readonly [x: string]: string;
    } | null;
} & {
    readonly Orchestration?: SwarmOrchestrationConfig.SwarmOrchestrationConfig | undefined;
} & {
    readonly Raft?: SwarmRaftConfig.SwarmRaftConfig | undefined;
} & {
    readonly Dispatcher?: SwarmDispatcherConfig.SwarmDispatcherConfig | undefined;
} & {
    readonly CAConfig?: SwarmCAConfig.SwarmCAConfig | undefined;
} & {
    readonly TaskDefaults?: SwarmTaskDefaults.SwarmTaskDefaults | undefined;
} & {
    readonly EncryptionConfig?: SwarmEncryptionConfig.SwarmEncryptionConfig | undefined;
}, {}, {}>;
export declare class SwarmSpec extends SwarmSpec_base {
}
export {};
//# sourceMappingURL=SwarmSpec.generated.d.ts.map