/**
 * 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(Schema.encodeKeys({
    acknowledgments: "acknowledgments",
    canonical: "canonical",
    contact: "contact",
    enabled: "enabled",
    encryption: "encryption",
    expires: "expires",
    hiring: "hiring",
    policy: "policy",
    preferredLanguages: "preferred_languages",
}))
    .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(Schema.encodeKeys({
    acknowledgments: "acknowledgments",
    canonical: "canonical",
    contact: "contact",
    enabled: "enabled",
    encryption: "encryption",
    expires: "expires",
    hiring: "hiring",
    policy: "policy",
    preferredLanguages: "preferred_languages",
}), 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