/**
 * Cloudflare HOSTNAMES API
 *
 * Generated from Cloudflare TypeScript SDK.
 * DO NOT EDIT - regenerate with: bun scripts/generate.ts --service hostnames
 */
import * as Schema from "effect/Schema";
import * as API from "../client/api.js";
import * as T from "../traits.js";
import {} from "../errors.js";
export const GetSettingTlsRequest = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    settingId: Schema.Literals(["ciphers", "min_tls_version", "http2"]).pipe(T.HttpPath("settingId")),
    zoneId: Schema.String.pipe(T.HttpPath("zone_id")),
}).pipe(T.Http({
    method: "GET",
    path: "/zones/{zone_id}/hostnames/settings/{settingId}",
}));
export const GetSettingTlsResponse = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    result: Schema.Array(Schema.Struct({
        createdAt: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        hostname: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        status: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        updatedAt: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        value: Schema.optional(Schema.Union([
            Schema.Union([
                Schema.Number,
                Schema.String,
                Schema.Array(Schema.String),
            ]),
            Schema.Null,
        ])),
    }).pipe(Schema.encodeKeys({
        createdAt: "created_at",
        hostname: "hostname",
        status: "status",
        updatedAt: "updated_at",
        value: "value",
    }))),
});
export const getSettingTls = /*@__PURE__*/ /*#__PURE__*/ API.makePaginated(() => ({
    input: GetSettingTlsRequest,
    output: GetSettingTlsResponse,
    errors: [],
    pagination: {
        mode: "single",
        items: "result",
    },
}));
export const PutSettingTlsRequest = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    settingId: Schema.Literals(["ciphers", "min_tls_version", "http2"]).pipe(T.HttpPath("settingId")),
    hostname: Schema.String.pipe(T.HttpPath("hostname")),
    zoneId: Schema.String.pipe(T.HttpPath("zone_id")),
    value: Schema.Union([
        Schema.Number,
        Schema.String,
        Schema.Array(Schema.String),
    ]),
}).pipe(T.Http({
    method: "PUT",
    path: "/zones/{zone_id}/hostnames/settings/{settingId}/{hostname}",
}));
export const PutSettingTlsResponse = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    createdAt: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    hostname: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    status: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    updatedAt: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    value: Schema.optional(Schema.Union([
        Schema.Union([Schema.Number, Schema.String, Schema.Array(Schema.String)]),
        Schema.Null,
    ])),
})
    .pipe(Schema.encodeKeys({
    createdAt: "created_at",
    hostname: "hostname",
    status: "status",
    updatedAt: "updated_at",
    value: "value",
}))
    .pipe(T.ResponsePath("result"));
export const putSettingTls = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: PutSettingTlsRequest,
    output: PutSettingTlsResponse,
    errors: [],
}));
export const DeleteSettingTlsRequest = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    settingId: Schema.Literals(["ciphers", "min_tls_version", "http2"]).pipe(T.HttpPath("settingId")),
    hostname: Schema.String.pipe(T.HttpPath("hostname")),
    zoneId: Schema.String.pipe(T.HttpPath("zone_id")),
}).pipe(T.Http({
    method: "DELETE",
    path: "/zones/{zone_id}/hostnames/settings/{settingId}/{hostname}",
}));
export const DeleteSettingTlsResponse = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    createdAt: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    hostname: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    status: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    updatedAt: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    value: Schema.optional(Schema.Union([
        Schema.Union([
            Schema.Number,
            Schema.String,
            Schema.Array(Schema.String),
        ]),
        Schema.Null,
    ])),
})
    .pipe(Schema.encodeKeys({
    createdAt: "created_at",
    hostname: "hostname",
    status: "status",
    updatedAt: "updated_at",
    value: "value",
}))
    .pipe(T.ResponsePath("result"));
export const deleteSettingTls = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: DeleteSettingTlsRequest,
    output: DeleteSettingTlsResponse,
    errors: [],
}));
//# sourceMappingURL=hostnames.js.map