/*
 * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
 */
import * as z from "zod";
import { remap as remap$ } from "../../lib/primitives.js";
import { safeParse } from "../../lib/schemas.js";
import * as components from "../components/index.js";
export const ModerationKind = {
    Manual: "manual",
    Webpurify: "webpurify",
    AwsRek: "aws_rek",
    AwsRekVideo: "aws_rek_video",
    PerceptionPoint: "perception_point",
    GoogleVideoModeration: "google_video_moderation",
    Duplicate: "duplicate",
};
export const ModerationStatus = {
    Approved: "approved",
    Rejected: "rejected",
    Pending: "pending",
    Queued: "queued",
    Aborted: "aborted",
};
/** @internal */
export const ListResourcesByModerationKindAndStatusGlobals$inboundSchema = z.object({
    cloud_name: z.string().optional(),
}).transform((v) => {
    return remap$(v, {
        "cloud_name": "cloudName",
    });
});
/** @internal */
export const ListResourcesByModerationKindAndStatusGlobals$outboundSchema = z.object({
    cloudName: z.string().optional(),
}).transform((v) => {
    return remap$(v, {
        cloudName: "cloud_name",
    });
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var ListResourcesByModerationKindAndStatusGlobals$;
(function (ListResourcesByModerationKindAndStatusGlobals$) {
    /** @deprecated use `ListResourcesByModerationKindAndStatusGlobals$inboundSchema` instead. */
    ListResourcesByModerationKindAndStatusGlobals$.inboundSchema = ListResourcesByModerationKindAndStatusGlobals$inboundSchema;
    /** @deprecated use `ListResourcesByModerationKindAndStatusGlobals$outboundSchema` instead. */
    ListResourcesByModerationKindAndStatusGlobals$.outboundSchema = ListResourcesByModerationKindAndStatusGlobals$outboundSchema;
})(ListResourcesByModerationKindAndStatusGlobals$ || (ListResourcesByModerationKindAndStatusGlobals$ = {}));
export function listResourcesByModerationKindAndStatusGlobalsToJSON(listResourcesByModerationKindAndStatusGlobals) {
    return JSON.stringify(ListResourcesByModerationKindAndStatusGlobals$outboundSchema.parse(listResourcesByModerationKindAndStatusGlobals));
}
export function listResourcesByModerationKindAndStatusGlobalsFromJSON(jsonString) {
    return safeParse(jsonString, (x) => ListResourcesByModerationKindAndStatusGlobals$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ListResourcesByModerationKindAndStatusGlobals' from JSON`);
}
/** @internal */
export const ModerationKind$inboundSchema = z.nativeEnum(ModerationKind);
/** @internal */
export const ModerationKind$outboundSchema = ModerationKind$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var ModerationKind$;
(function (ModerationKind$) {
    /** @deprecated use `ModerationKind$inboundSchema` instead. */
    ModerationKind$.inboundSchema = ModerationKind$inboundSchema;
    /** @deprecated use `ModerationKind$outboundSchema` instead. */
    ModerationKind$.outboundSchema = ModerationKind$outboundSchema;
})(ModerationKind$ || (ModerationKind$ = {}));
/** @internal */
export const ModerationStatus$inboundSchema = z.nativeEnum(ModerationStatus);
/** @internal */
export const ModerationStatus$outboundSchema = ModerationStatus$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var ModerationStatus$;
(function (ModerationStatus$) {
    /** @deprecated use `ModerationStatus$inboundSchema` instead. */
    ModerationStatus$.inboundSchema = ModerationStatus$inboundSchema;
    /** @deprecated use `ModerationStatus$outboundSchema` instead. */
    ModerationStatus$.outboundSchema = ModerationStatus$outboundSchema;
})(ModerationStatus$ || (ModerationStatus$ = {}));
/** @internal */
export const ListResourcesByModerationKindAndStatusRequest$inboundSchema = z.object({
    resource_type: components.ResourceTypeParameter$inboundSchema,
    moderation_kind: ModerationKind$inboundSchema,
    moderation_status: ModerationStatus$inboundSchema,
    fields: z.array(components.FieldsSpec$inboundSchema).optional(),
    next_cursor: z.string().optional(),
    max_results: z.number().int().optional(),
    direction: components.Direction$inboundSchema.optional(),
}).transform((v) => {
    return remap$(v, {
        "resource_type": "resourceType",
        "moderation_kind": "moderationKind",
        "moderation_status": "moderationStatus",
        "next_cursor": "nextCursor",
        "max_results": "maxResults",
    });
});
/** @internal */
export const ListResourcesByModerationKindAndStatusRequest$outboundSchema = z.object({
    resourceType: components.ResourceTypeParameter$outboundSchema,
    moderationKind: ModerationKind$outboundSchema,
    moderationStatus: ModerationStatus$outboundSchema,
    fields: z.array(components.FieldsSpec$outboundSchema).optional(),
    nextCursor: z.string().optional(),
    maxResults: z.number().int().optional(),
    direction: components.Direction$outboundSchema.optional(),
}).transform((v) => {
    return remap$(v, {
        resourceType: "resource_type",
        moderationKind: "moderation_kind",
        moderationStatus: "moderation_status",
        nextCursor: "next_cursor",
        maxResults: "max_results",
    });
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var ListResourcesByModerationKindAndStatusRequest$;
(function (ListResourcesByModerationKindAndStatusRequest$) {
    /** @deprecated use `ListResourcesByModerationKindAndStatusRequest$inboundSchema` instead. */
    ListResourcesByModerationKindAndStatusRequest$.inboundSchema = ListResourcesByModerationKindAndStatusRequest$inboundSchema;
    /** @deprecated use `ListResourcesByModerationKindAndStatusRequest$outboundSchema` instead. */
    ListResourcesByModerationKindAndStatusRequest$.outboundSchema = ListResourcesByModerationKindAndStatusRequest$outboundSchema;
})(ListResourcesByModerationKindAndStatusRequest$ || (ListResourcesByModerationKindAndStatusRequest$ = {}));
export function listResourcesByModerationKindAndStatusRequestToJSON(listResourcesByModerationKindAndStatusRequest) {
    return JSON.stringify(ListResourcesByModerationKindAndStatusRequest$outboundSchema.parse(listResourcesByModerationKindAndStatusRequest));
}
export function listResourcesByModerationKindAndStatusRequestFromJSON(jsonString) {
    return safeParse(jsonString, (x) => ListResourcesByModerationKindAndStatusRequest$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ListResourcesByModerationKindAndStatusRequest' from JSON`);
}
//# sourceMappingURL=listresourcesbymoderationkindandstatus.js.map