/**
 * Cloudflare SECURITY-TXT API
 *
 * Generated from Cloudflare TypeScript SDK.
 * DO NOT EDIT - regenerate with: bun scripts/generate.ts --service security-txt
 */
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 GetSecurityTXTRequest = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    zoneId: Schema.String.pipe(T.HttpPath("zone_id")),
}).pipe(T.Http({
    method: "GET",
    path: "/zones/{zone_id}/security-center/securitytxt",
}));
export const GetSecurityTXTResponse = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    acknowledgments: Schema.optional(Schema.Union([Schema.Array(Schema.String), Schema.Null])),
    canonical: Schema.optional(Schema.Union([Schema.Array(Schema.String), Schema.Null])),
    contact: Schema.optional(Schema.Union([Schema.Array(Schema.String), Schema.Null])),
    enabled: Schema.optional(Schema.Union([Schema.Boolean, Schema.Null])),
    encryption: Schema.optional(Schema.Union([Schema.Array(Schema.String), Schema.Null])),
    expires: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    hiring: Schema.optional(Schema.Union([Schema.Array(Schema.String), Schema.Null])),
    policy: Schema.optional(Schema.Union([Schema.Array(Schema.String), Schema.Null])),
    preferredLanguages: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
}).pipe(T.ResponsePath("result"));
export const getSecurityTXT = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: GetSecurityTXTRequest,
    output: GetSecurityTXTResponse,
    errors: [],
}));
export const PutSecurityTXTRequest = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    zoneId: Schema.String.pipe(T.HttpPath("zone_id")),
    acknowledgments: Schema.optional(Schema.Array(Schema.String)),
    canonical: Schema.optional(Schema.Array(Schema.String)),
    contact: Schema.optional(Schema.Array(Schema.String)),
    enabled: Schema.optional(Schema.Boolean),
    encryption: Schema.optional(Schema.Array(Schema.String)),
    expires: Schema.optional(Schema.String),
    hiring: Schema.optional(Schema.Array(Schema.String)),
    policy: Schema.optional(Schema.Array(Schema.String)),
    preferredLanguages: Schema.optional(Schema.String),
}).pipe(T.Http({
    method: "PUT",
    path: "/zones/{zone_id}/security-center/securitytxt",
}));
export const PutSecurityTXTResponse = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    errors: Schema.Array(Schema.Struct({
        code: Schema.Number,
        message: Schema.String,
        documentationUrl: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        source: Schema.optional(Schema.Union([
            Schema.Struct({
                pointer: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
            }),
            Schema.Null,
        ])),
    }).pipe(Schema.encodeKeys({
        code: "code",
        message: "message",
        documentationUrl: "documentation_url",
        source: "source",
    }))),
    messages: Schema.Array(Schema.Struct({
        code: Schema.Number,
        message: Schema.String,
        documentationUrl: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        source: Schema.optional(Schema.Union([
            Schema.Struct({
                pointer: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
            }),
            Schema.Null,
        ])),
    }).pipe(Schema.encodeKeys({
        code: "code",
        message: "message",
        documentationUrl: "documentation_url",
        source: "source",
    }))),
    success: Schema.Literal(true),
});
export const putSecurityTXT = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: PutSecurityTXTRequest,
    output: PutSecurityTXTResponse,
    errors: [],
}));
export const DeleteSecurityTXTRequest = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    zoneId: Schema.String.pipe(T.HttpPath("zone_id")),
}).pipe(T.Http({
    method: "DELETE",
    path: "/zones/{zone_id}/security-center/securitytxt",
}));
export const DeleteSecurityTXTResponse = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    errors: Schema.Array(Schema.Struct({
        code: Schema.Number,
        message: Schema.String,
        documentationUrl: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        source: Schema.optional(Schema.Union([
            Schema.Struct({
                pointer: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
            }),
            Schema.Null,
        ])),
    }).pipe(Schema.encodeKeys({
        code: "code",
        message: "message",
        documentationUrl: "documentation_url",
        source: "source",
    }))),
    messages: Schema.Array(Schema.Struct({
        code: Schema.Number,
        message: Schema.String,
        documentationUrl: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        source: Schema.optional(Schema.Union([
            Schema.Struct({
                pointer: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
            }),
            Schema.Null,
        ])),
    }).pipe(Schema.encodeKeys({
        code: "code",
        message: "message",
        documentationUrl: "documentation_url",
        source: "source",
    }))),
    success: Schema.Literal(true),
});
export const deleteSecurityTXT = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: DeleteSecurityTXTRequest,
    output: DeleteSecurityTXTResponse,
    errors: [],
}));
//# sourceMappingURL=security-txt.js.map