/**
 * Cloudflare CONTENT-SCANNING API
 *
 * Generated from Cloudflare TypeScript SDK.
 * DO NOT EDIT - regenerate with: bun scripts/generate.ts --service content-scanning
 */
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 GetContentScanningRequest = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    zoneId: Schema.String.pipe(T.HttpPath("zone_id")),
}).pipe(T.Http({
    method: "GET",
    path: "/zones/{zone_id}/content-upload-scan/settings",
}));
export const GetContentScanningResponse = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    modified: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    value: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
}).pipe(T.ResponsePath("result"));
export const getContentScanning = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: GetContentScanningRequest,
    output: GetContentScanningResponse,
    errors: [],
}));
export const CreateContentScanningRequest = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    zoneId: Schema.String.pipe(T.HttpPath("zone_id")),
    value: Schema.Literals(["enabled", "disabled"]),
}).pipe(T.Http({
    method: "PUT",
    path: "/zones/{zone_id}/content-upload-scan/settings",
}));
export const CreateContentScanningResponse = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    modified: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    value: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
}).pipe(T.ResponsePath("result"));
export const createContentScanning = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: CreateContentScanningRequest,
    output: CreateContentScanningResponse,
    errors: [],
}));
export const PutContentScanningRequest = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    zoneId: Schema.String.pipe(T.HttpPath("zone_id")),
    value: Schema.Literals(["enabled", "disabled"]),
}).pipe(T.Http({
    method: "PUT",
    path: "/zones/{zone_id}/content-upload-scan/settings",
}));
export const PutContentScanningResponse = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    modified: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    value: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
}).pipe(T.ResponsePath("result"));
export const putContentScanning = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: PutContentScanningRequest,
    output: PutContentScanningResponse,
    errors: [],
}));
export const EnableContentScanningRequest = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    zoneId: Schema.String.pipe(T.HttpPath("zone_id")),
}).pipe(T.Http({
    method: "POST",
    path: "/zones/{zone_id}/content-upload-scan/enable",
}));
export const EnableContentScanningResponse = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Unknown.pipe(T.ResponsePath("result"));
export const enableContentScanning = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: EnableContentScanningRequest,
    output: EnableContentScanningResponse,
    errors: [],
}));
export const DisableContentScanningRequest = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    zoneId: Schema.String.pipe(T.HttpPath("zone_id")),
}).pipe(T.Http({
    method: "POST",
    path: "/zones/{zone_id}/content-upload-scan/disable",
}));
export const DisableContentScanningResponse = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Unknown.pipe(T.ResponsePath("result"));
export const disableContentScanning = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: DisableContentScanningRequest,
    output: DisableContentScanningResponse,
    errors: [],
}));
export const ListPayloadsRequest = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    zoneId: Schema.String.pipe(T.HttpPath("zone_id")),
}).pipe(T.Http({
    method: "GET",
    path: "/zones/{zone_id}/content-upload-scan/payloads",
}));
export const ListPayloadsResponse = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    result: Schema.Array(Schema.Struct({
        id: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        payload: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    })),
});
export const listPayloads = /*@__PURE__*/ /*#__PURE__*/ API.makePaginated(() => ({
    input: ListPayloadsRequest,
    output: ListPayloadsResponse,
    errors: [],
    pagination: {
        mode: "single",
        items: "result",
    },
}));
export const CreatePayloadRequest = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    zoneId: Schema.String.pipe(T.HttpPath("zone_id")),
    body: Schema.Array(Schema.Struct({
        payload: Schema.String,
    })).pipe(T.HttpBody()),
}).pipe(T.Http({
    method: "POST",
    path: "/zones/{zone_id}/content-upload-scan/payloads",
}));
export const CreatePayloadResponse = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    result: Schema.Array(Schema.Struct({
        id: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        payload: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    })),
});
export const createPayload = /*@__PURE__*/ /*#__PURE__*/ API.makePaginated(() => ({
    input: CreatePayloadRequest,
    output: CreatePayloadResponse,
    errors: [],
    pagination: {
        mode: "single",
        items: "result",
    },
}));
export const DeletePayloadRequest = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    expressionId: Schema.String.pipe(T.HttpPath("expressionId")),
    zoneId: Schema.String.pipe(T.HttpPath("zone_id")),
}).pipe(T.Http({
    method: "DELETE",
    path: "/zones/{zone_id}/content-upload-scan/payloads/{expressionId}",
}));
export const DeletePayloadResponse = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    result: Schema.Array(Schema.Struct({
        id: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        payload: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    })),
});
export const deletePayload = /*@__PURE__*/ /*#__PURE__*/ API.makePaginated(() => ({
    input: DeletePayloadRequest,
    output: DeletePayloadResponse,
    errors: [],
    pagination: {
        mode: "single",
        items: "result",
    },
}));
export const GetSettingRequest = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    zoneId: Schema.String.pipe(T.HttpPath("zone_id")),
}).pipe(T.Http({
    method: "GET",
    path: "/zones/{zone_id}/content-upload-scan/settings",
}));
export const GetSettingResponse = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    modified: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    value: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
}).pipe(T.ResponsePath("result"));
export const getSetting = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: GetSettingRequest,
    output: GetSettingResponse,
    errors: [],
}));
//# sourceMappingURL=content-scanning.js.map