"use strict";
/*
 * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
 */
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    var desc = Object.getOwnPropertyDescriptor(m, k);
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
      desc = { enumerable: true, get: function() { return m[k]; } };
    }
    Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
    Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
    o["default"] = v;
});
var __importStar = (this && this.__importStar) || (function () {
    var ownKeys = function(o) {
        ownKeys = Object.getOwnPropertyNames || function (o) {
            var ar = [];
            for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
            return ar;
        };
        return ownKeys(o);
    };
    return function (mod) {
        if (mod && mod.__esModule) return mod;
        var result = {};
        if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
        __setModuleDefault(result, mod);
        return result;
    };
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.ResourceUpdateRequest$ = exports.ResourceUpdateRequest$outboundSchema = exports.ResourceUpdateRequest$inboundSchema = exports.ResourceUpdateRequestBackgroundRemoval$ = exports.ResourceUpdateRequestBackgroundRemoval$outboundSchema = exports.ResourceUpdateRequestBackgroundRemoval$inboundSchema = exports.ResourceUpdateRequestCategorization$ = exports.ResourceUpdateRequestCategorization$outboundSchema = exports.ResourceUpdateRequestCategorization$inboundSchema = exports.RawConvert$ = exports.RawConvert$outboundSchema = exports.RawConvert$inboundSchema = exports.ResourceUpdateRequestOcr$ = exports.ResourceUpdateRequestOcr$outboundSchema = exports.ResourceUpdateRequestOcr$inboundSchema = exports.ModerationStatus$ = exports.ModerationStatus$outboundSchema = exports.ModerationStatus$inboundSchema = exports.ResourceUpdateRequestBackgroundRemoval = exports.ResourceUpdateRequestCategorization = exports.RawConvert = exports.ResourceUpdateRequestOcr = exports.ModerationStatus = void 0;
exports.resourceUpdateRequestToJSON = resourceUpdateRequestToJSON;
exports.resourceUpdateRequestFromJSON = resourceUpdateRequestFromJSON;
const z = __importStar(require("zod"));
const primitives_js_1 = require("../../lib/primitives.js");
const schemas_js_1 = require("../../lib/schemas.js");
/**
 * The moderation status of the resource.
 */
exports.ModerationStatus = {
    Approved: "approved",
    Rejected: "rejected",
};
/**
 * The type of OCR to perform on the resource.
 */
exports.ResourceUpdateRequestOcr = {
    AdvOcr: "adv_ocr",
};
/**
 * The conversion to apply for raw files.
 */
exports.RawConvert = {
    Aspose: "aspose",
    GoogleSpeech: "google_speech",
    ExtractText: "extract_text",
};
/**
 * The type of categorization to perform on the resource.
 */
exports.ResourceUpdateRequestCategorization = {
    GoogleTagging: "google_tagging",
    GoogleVideoTagging: "google_video_tagging",
    ImaggaTagging: "imagga_tagging",
    AwsRekTagging: "aws_rek_tagging",
};
/**
 * The background removal provider to use for the resource.
 */
exports.ResourceUpdateRequestBackgroundRemoval = {
    CloudinaryAi: "cloudinary_ai",
    Pixelz: "pixelz",
};
/** @internal */
exports.ModerationStatus$inboundSchema = z.nativeEnum(exports.ModerationStatus);
/** @internal */
exports.ModerationStatus$outboundSchema = exports.ModerationStatus$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var ModerationStatus$;
(function (ModerationStatus$) {
    /** @deprecated use `ModerationStatus$inboundSchema` instead. */
    ModerationStatus$.inboundSchema = exports.ModerationStatus$inboundSchema;
    /** @deprecated use `ModerationStatus$outboundSchema` instead. */
    ModerationStatus$.outboundSchema = exports.ModerationStatus$outboundSchema;
})(ModerationStatus$ || (exports.ModerationStatus$ = ModerationStatus$ = {}));
/** @internal */
exports.ResourceUpdateRequestOcr$inboundSchema = z.nativeEnum(exports.ResourceUpdateRequestOcr);
/** @internal */
exports.ResourceUpdateRequestOcr$outboundSchema = exports.ResourceUpdateRequestOcr$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var ResourceUpdateRequestOcr$;
(function (ResourceUpdateRequestOcr$) {
    /** @deprecated use `ResourceUpdateRequestOcr$inboundSchema` instead. */
    ResourceUpdateRequestOcr$.inboundSchema = exports.ResourceUpdateRequestOcr$inboundSchema;
    /** @deprecated use `ResourceUpdateRequestOcr$outboundSchema` instead. */
    ResourceUpdateRequestOcr$.outboundSchema = exports.ResourceUpdateRequestOcr$outboundSchema;
})(ResourceUpdateRequestOcr$ || (exports.ResourceUpdateRequestOcr$ = ResourceUpdateRequestOcr$ = {}));
/** @internal */
exports.RawConvert$inboundSchema = z
    .nativeEnum(exports.RawConvert);
/** @internal */
exports.RawConvert$outboundSchema = exports.RawConvert$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var RawConvert$;
(function (RawConvert$) {
    /** @deprecated use `RawConvert$inboundSchema` instead. */
    RawConvert$.inboundSchema = exports.RawConvert$inboundSchema;
    /** @deprecated use `RawConvert$outboundSchema` instead. */
    RawConvert$.outboundSchema = exports.RawConvert$outboundSchema;
})(RawConvert$ || (exports.RawConvert$ = RawConvert$ = {}));
/** @internal */
exports.ResourceUpdateRequestCategorization$inboundSchema = z.nativeEnum(exports.ResourceUpdateRequestCategorization);
/** @internal */
exports.ResourceUpdateRequestCategorization$outboundSchema = exports.ResourceUpdateRequestCategorization$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var ResourceUpdateRequestCategorization$;
(function (ResourceUpdateRequestCategorization$) {
    /** @deprecated use `ResourceUpdateRequestCategorization$inboundSchema` instead. */
    ResourceUpdateRequestCategorization$.inboundSchema = exports.ResourceUpdateRequestCategorization$inboundSchema;
    /** @deprecated use `ResourceUpdateRequestCategorization$outboundSchema` instead. */
    ResourceUpdateRequestCategorization$.outboundSchema = exports.ResourceUpdateRequestCategorization$outboundSchema;
})(ResourceUpdateRequestCategorization$ || (exports.ResourceUpdateRequestCategorization$ = ResourceUpdateRequestCategorization$ = {}));
/** @internal */
exports.ResourceUpdateRequestBackgroundRemoval$inboundSchema = z.nativeEnum(exports.ResourceUpdateRequestBackgroundRemoval);
/** @internal */
exports.ResourceUpdateRequestBackgroundRemoval$outboundSchema = exports.ResourceUpdateRequestBackgroundRemoval$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var ResourceUpdateRequestBackgroundRemoval$;
(function (ResourceUpdateRequestBackgroundRemoval$) {
    /** @deprecated use `ResourceUpdateRequestBackgroundRemoval$inboundSchema` instead. */
    ResourceUpdateRequestBackgroundRemoval$.inboundSchema = exports.ResourceUpdateRequestBackgroundRemoval$inboundSchema;
    /** @deprecated use `ResourceUpdateRequestBackgroundRemoval$outboundSchema` instead. */
    ResourceUpdateRequestBackgroundRemoval$.outboundSchema = exports.ResourceUpdateRequestBackgroundRemoval$outboundSchema;
})(ResourceUpdateRequestBackgroundRemoval$ || (exports.ResourceUpdateRequestBackgroundRemoval$ = ResourceUpdateRequestBackgroundRemoval$ = {}));
/** @internal */
exports.ResourceUpdateRequest$inboundSchema = z.object({
    display_name: z.string().optional(),
    unique_display_name: z.boolean().default(false),
    asset_folder: z.string().optional(),
    tags: z.string().optional(),
    context: z.string().optional(),
    metadata: z.string().optional(),
    clear_invalid: z.boolean().default(false),
    face_coordinates: z.string().optional(),
    custom_coordinates: z.string().optional(),
    regions: z.string().optional(),
    quality_override: z.string().optional(),
    moderation_status: exports.ModerationStatus$inboundSchema.optional(),
    auto_tagging: z.number().optional(),
    detection: z.string().optional(),
    ocr: exports.ResourceUpdateRequestOcr$inboundSchema.optional(),
    raw_convert: exports.RawConvert$inboundSchema.optional(),
    categorization: exports.ResourceUpdateRequestCategorization$inboundSchema.optional(),
    visual_search: z.boolean().optional(),
    background_removal: exports.ResourceUpdateRequestBackgroundRemoval$inboundSchema
        .optional(),
    access_control: z.string().optional(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        "display_name": "displayName",
        "unique_display_name": "uniqueDisplayName",
        "asset_folder": "assetFolder",
        "clear_invalid": "clearInvalid",
        "face_coordinates": "faceCoordinates",
        "custom_coordinates": "customCoordinates",
        "quality_override": "qualityOverride",
        "moderation_status": "moderationStatus",
        "auto_tagging": "autoTagging",
        "raw_convert": "rawConvert",
        "visual_search": "visualSearch",
        "background_removal": "backgroundRemoval",
        "access_control": "accessControl",
    });
});
/** @internal */
exports.ResourceUpdateRequest$outboundSchema = z.object({
    displayName: z.string().optional(),
    uniqueDisplayName: z.boolean().default(false),
    assetFolder: z.string().optional(),
    tags: z.string().optional(),
    context: z.string().optional(),
    metadata: z.string().optional(),
    clearInvalid: z.boolean().default(false),
    faceCoordinates: z.string().optional(),
    customCoordinates: z.string().optional(),
    regions: z.string().optional(),
    qualityOverride: z.string().optional(),
    moderationStatus: exports.ModerationStatus$outboundSchema.optional(),
    autoTagging: z.number().optional(),
    detection: z.string().optional(),
    ocr: exports.ResourceUpdateRequestOcr$outboundSchema.optional(),
    rawConvert: exports.RawConvert$outboundSchema.optional(),
    categorization: exports.ResourceUpdateRequestCategorization$outboundSchema.optional(),
    visualSearch: z.boolean().optional(),
    backgroundRemoval: exports.ResourceUpdateRequestBackgroundRemoval$outboundSchema
        .optional(),
    accessControl: z.string().optional(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        displayName: "display_name",
        uniqueDisplayName: "unique_display_name",
        assetFolder: "asset_folder",
        clearInvalid: "clear_invalid",
        faceCoordinates: "face_coordinates",
        customCoordinates: "custom_coordinates",
        qualityOverride: "quality_override",
        moderationStatus: "moderation_status",
        autoTagging: "auto_tagging",
        rawConvert: "raw_convert",
        visualSearch: "visual_search",
        backgroundRemoval: "background_removal",
        accessControl: "access_control",
    });
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var ResourceUpdateRequest$;
(function (ResourceUpdateRequest$) {
    /** @deprecated use `ResourceUpdateRequest$inboundSchema` instead. */
    ResourceUpdateRequest$.inboundSchema = exports.ResourceUpdateRequest$inboundSchema;
    /** @deprecated use `ResourceUpdateRequest$outboundSchema` instead. */
    ResourceUpdateRequest$.outboundSchema = exports.ResourceUpdateRequest$outboundSchema;
})(ResourceUpdateRequest$ || (exports.ResourceUpdateRequest$ = ResourceUpdateRequest$ = {}));
function resourceUpdateRequestToJSON(resourceUpdateRequest) {
    return JSON.stringify(exports.ResourceUpdateRequest$outboundSchema.parse(resourceUpdateRequest));
}
function resourceUpdateRequestFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.ResourceUpdateRequest$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ResourceUpdateRequest' from JSON`);
}
//# sourceMappingURL=resourceupdaterequest.js.map