/*
 * 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";
/**
 * The type of asset. Relevant as a parameter only when using the SDKs (the resource_type is included in the endpoint URL when using the REST API). Note: use video for all video and audio assets, such as .mp3. Default: image.
 */
export const DeleteResourceByPublicIdsRequestResourceType3 = {
    Image: "image",
    Video: "video",
    Raw: "raw",
};
/**
 * The type of asset. Relevant as a parameter only when using the SDKs (the resource_type is included in the endpoint URL when using the REST API). Note: use video for all video and audio assets, such as .mp3. Default: image.
 */
export const DeleteResourceByPublicIdsRequestResourceType2 = {
    Image: "image",
    Video: "video",
    Raw: "raw",
};
/**
 * The type of asset. Relevant as a parameter only when using the SDKs (the resource_type is included in the endpoint URL when using the REST API). Note: use video for all video and audio assets, such as .mp3. Default: image.
 */
export const DeleteResourceByPublicIdsRequestResourceType1 = {
    Image: "image",
    Video: "video",
    Raw: "raw",
};
/** @internal */
export const DeleteResourceByPublicIdsRequestResourceType3$inboundSchema = z
    .nativeEnum(DeleteResourceByPublicIdsRequestResourceType3);
/** @internal */
export const DeleteResourceByPublicIdsRequestResourceType3$outboundSchema = DeleteResourceByPublicIdsRequestResourceType3$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var DeleteResourceByPublicIdsRequestResourceType3$;
(function (DeleteResourceByPublicIdsRequestResourceType3$) {
    /** @deprecated use `DeleteResourceByPublicIdsRequestResourceType3$inboundSchema` instead. */
    DeleteResourceByPublicIdsRequestResourceType3$.inboundSchema = DeleteResourceByPublicIdsRequestResourceType3$inboundSchema;
    /** @deprecated use `DeleteResourceByPublicIdsRequestResourceType3$outboundSchema` instead. */
    DeleteResourceByPublicIdsRequestResourceType3$.outboundSchema = DeleteResourceByPublicIdsRequestResourceType3$outboundSchema;
})(DeleteResourceByPublicIdsRequestResourceType3$ || (DeleteResourceByPublicIdsRequestResourceType3$ = {}));
/** @internal */
export const DeleteResourceByPublicIdsRequest3$inboundSchema = z.object({
    public_ids: z.array(z.string()).optional(),
    prefix: z.string().optional(),
    all: z.boolean(),
    resource_type: DeleteResourceByPublicIdsRequestResourceType3$inboundSchema
        .default("image"),
    keep_original: z.boolean().default(false),
    invalidate: z.boolean().default(false),
    next_cursor: z.string().optional(),
    transformations: z.string().optional(),
}).transform((v) => {
    return remap$(v, {
        "public_ids": "publicIds",
        "resource_type": "resourceType",
        "keep_original": "keepOriginal",
        "next_cursor": "nextCursor",
    });
});
/** @internal */
export const DeleteResourceByPublicIdsRequest3$outboundSchema = z.object({
    publicIds: z.array(z.string()).optional(),
    prefix: z.string().optional(),
    all: z.boolean(),
    resourceType: DeleteResourceByPublicIdsRequestResourceType3$outboundSchema
        .default("image"),
    keepOriginal: z.boolean().default(false),
    invalidate: z.boolean().default(false),
    nextCursor: z.string().optional(),
    transformations: z.string().optional(),
}).transform((v) => {
    return remap$(v, {
        publicIds: "public_ids",
        resourceType: "resource_type",
        keepOriginal: "keep_original",
        nextCursor: "next_cursor",
    });
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var DeleteResourceByPublicIdsRequest3$;
(function (DeleteResourceByPublicIdsRequest3$) {
    /** @deprecated use `DeleteResourceByPublicIdsRequest3$inboundSchema` instead. */
    DeleteResourceByPublicIdsRequest3$.inboundSchema = DeleteResourceByPublicIdsRequest3$inboundSchema;
    /** @deprecated use `DeleteResourceByPublicIdsRequest3$outboundSchema` instead. */
    DeleteResourceByPublicIdsRequest3$.outboundSchema = DeleteResourceByPublicIdsRequest3$outboundSchema;
})(DeleteResourceByPublicIdsRequest3$ || (DeleteResourceByPublicIdsRequest3$ = {}));
export function deleteResourceByPublicIdsRequest3ToJSON(deleteResourceByPublicIdsRequest3) {
    return JSON.stringify(DeleteResourceByPublicIdsRequest3$outboundSchema.parse(deleteResourceByPublicIdsRequest3));
}
export function deleteResourceByPublicIdsRequest3FromJSON(jsonString) {
    return safeParse(jsonString, (x) => DeleteResourceByPublicIdsRequest3$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'DeleteResourceByPublicIdsRequest3' from JSON`);
}
/** @internal */
export const DeleteResourceByPublicIdsRequestResourceType2$inboundSchema = z
    .nativeEnum(DeleteResourceByPublicIdsRequestResourceType2);
/** @internal */
export const DeleteResourceByPublicIdsRequestResourceType2$outboundSchema = DeleteResourceByPublicIdsRequestResourceType2$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var DeleteResourceByPublicIdsRequestResourceType2$;
(function (DeleteResourceByPublicIdsRequestResourceType2$) {
    /** @deprecated use `DeleteResourceByPublicIdsRequestResourceType2$inboundSchema` instead. */
    DeleteResourceByPublicIdsRequestResourceType2$.inboundSchema = DeleteResourceByPublicIdsRequestResourceType2$inboundSchema;
    /** @deprecated use `DeleteResourceByPublicIdsRequestResourceType2$outboundSchema` instead. */
    DeleteResourceByPublicIdsRequestResourceType2$.outboundSchema = DeleteResourceByPublicIdsRequestResourceType2$outboundSchema;
})(DeleteResourceByPublicIdsRequestResourceType2$ || (DeleteResourceByPublicIdsRequestResourceType2$ = {}));
/** @internal */
export const DeleteResourceByPublicIdsRequest2$inboundSchema = z.object({
    public_ids: z.array(z.string()).optional(),
    prefix: z.string(),
    all: z.boolean().optional(),
    resource_type: DeleteResourceByPublicIdsRequestResourceType2$inboundSchema
        .default("image"),
    keep_original: z.boolean().default(false),
    invalidate: z.boolean().default(false),
    next_cursor: z.string().optional(),
    transformations: z.string().optional(),
}).transform((v) => {
    return remap$(v, {
        "public_ids": "publicIds",
        "resource_type": "resourceType",
        "keep_original": "keepOriginal",
        "next_cursor": "nextCursor",
    });
});
/** @internal */
export const DeleteResourceByPublicIdsRequest2$outboundSchema = z.object({
    publicIds: z.array(z.string()).optional(),
    prefix: z.string(),
    all: z.boolean().optional(),
    resourceType: DeleteResourceByPublicIdsRequestResourceType2$outboundSchema
        .default("image"),
    keepOriginal: z.boolean().default(false),
    invalidate: z.boolean().default(false),
    nextCursor: z.string().optional(),
    transformations: z.string().optional(),
}).transform((v) => {
    return remap$(v, {
        publicIds: "public_ids",
        resourceType: "resource_type",
        keepOriginal: "keep_original",
        nextCursor: "next_cursor",
    });
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var DeleteResourceByPublicIdsRequest2$;
(function (DeleteResourceByPublicIdsRequest2$) {
    /** @deprecated use `DeleteResourceByPublicIdsRequest2$inboundSchema` instead. */
    DeleteResourceByPublicIdsRequest2$.inboundSchema = DeleteResourceByPublicIdsRequest2$inboundSchema;
    /** @deprecated use `DeleteResourceByPublicIdsRequest2$outboundSchema` instead. */
    DeleteResourceByPublicIdsRequest2$.outboundSchema = DeleteResourceByPublicIdsRequest2$outboundSchema;
})(DeleteResourceByPublicIdsRequest2$ || (DeleteResourceByPublicIdsRequest2$ = {}));
export function deleteResourceByPublicIdsRequest2ToJSON(deleteResourceByPublicIdsRequest2) {
    return JSON.stringify(DeleteResourceByPublicIdsRequest2$outboundSchema.parse(deleteResourceByPublicIdsRequest2));
}
export function deleteResourceByPublicIdsRequest2FromJSON(jsonString) {
    return safeParse(jsonString, (x) => DeleteResourceByPublicIdsRequest2$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'DeleteResourceByPublicIdsRequest2' from JSON`);
}
/** @internal */
export const DeleteResourceByPublicIdsRequestResourceType1$inboundSchema = z
    .nativeEnum(DeleteResourceByPublicIdsRequestResourceType1);
/** @internal */
export const DeleteResourceByPublicIdsRequestResourceType1$outboundSchema = DeleteResourceByPublicIdsRequestResourceType1$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var DeleteResourceByPublicIdsRequestResourceType1$;
(function (DeleteResourceByPublicIdsRequestResourceType1$) {
    /** @deprecated use `DeleteResourceByPublicIdsRequestResourceType1$inboundSchema` instead. */
    DeleteResourceByPublicIdsRequestResourceType1$.inboundSchema = DeleteResourceByPublicIdsRequestResourceType1$inboundSchema;
    /** @deprecated use `DeleteResourceByPublicIdsRequestResourceType1$outboundSchema` instead. */
    DeleteResourceByPublicIdsRequestResourceType1$.outboundSchema = DeleteResourceByPublicIdsRequestResourceType1$outboundSchema;
})(DeleteResourceByPublicIdsRequestResourceType1$ || (DeleteResourceByPublicIdsRequestResourceType1$ = {}));
/** @internal */
export const DeleteResourceByPublicIdsRequest1$inboundSchema = z.object({
    public_ids: z.array(z.string()),
    prefix: z.string().optional(),
    all: z.boolean().optional(),
    resource_type: DeleteResourceByPublicIdsRequestResourceType1$inboundSchema
        .default("image"),
    keep_original: z.boolean().default(false),
    invalidate: z.boolean().default(false),
    next_cursor: z.string().optional(),
    transformations: z.string().optional(),
}).transform((v) => {
    return remap$(v, {
        "public_ids": "publicIds",
        "resource_type": "resourceType",
        "keep_original": "keepOriginal",
        "next_cursor": "nextCursor",
    });
});
/** @internal */
export const DeleteResourceByPublicIdsRequest1$outboundSchema = z.object({
    publicIds: z.array(z.string()),
    prefix: z.string().optional(),
    all: z.boolean().optional(),
    resourceType: DeleteResourceByPublicIdsRequestResourceType1$outboundSchema
        .default("image"),
    keepOriginal: z.boolean().default(false),
    invalidate: z.boolean().default(false),
    nextCursor: z.string().optional(),
    transformations: z.string().optional(),
}).transform((v) => {
    return remap$(v, {
        publicIds: "public_ids",
        resourceType: "resource_type",
        keepOriginal: "keep_original",
        nextCursor: "next_cursor",
    });
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var DeleteResourceByPublicIdsRequest1$;
(function (DeleteResourceByPublicIdsRequest1$) {
    /** @deprecated use `DeleteResourceByPublicIdsRequest1$inboundSchema` instead. */
    DeleteResourceByPublicIdsRequest1$.inboundSchema = DeleteResourceByPublicIdsRequest1$inboundSchema;
    /** @deprecated use `DeleteResourceByPublicIdsRequest1$outboundSchema` instead. */
    DeleteResourceByPublicIdsRequest1$.outboundSchema = DeleteResourceByPublicIdsRequest1$outboundSchema;
})(DeleteResourceByPublicIdsRequest1$ || (DeleteResourceByPublicIdsRequest1$ = {}));
export function deleteResourceByPublicIdsRequest1ToJSON(deleteResourceByPublicIdsRequest1) {
    return JSON.stringify(DeleteResourceByPublicIdsRequest1$outboundSchema.parse(deleteResourceByPublicIdsRequest1));
}
export function deleteResourceByPublicIdsRequest1FromJSON(jsonString) {
    return safeParse(jsonString, (x) => DeleteResourceByPublicIdsRequest1$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'DeleteResourceByPublicIdsRequest1' from JSON`);
}
/** @internal */
export const DeleteResourceByPublicIdsRequestUnion$inboundSchema = z.union([
    z.lazy(() => DeleteResourceByPublicIdsRequest1$inboundSchema),
    z.lazy(() => DeleteResourceByPublicIdsRequest2$inboundSchema),
    z.lazy(() => DeleteResourceByPublicIdsRequest3$inboundSchema),
]);
/** @internal */
export const DeleteResourceByPublicIdsRequestUnion$outboundSchema = z.union([
    z.lazy(() => DeleteResourceByPublicIdsRequest1$outboundSchema),
    z.lazy(() => DeleteResourceByPublicIdsRequest2$outboundSchema),
    z.lazy(() => DeleteResourceByPublicIdsRequest3$outboundSchema),
]);
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var DeleteResourceByPublicIdsRequestUnion$;
(function (DeleteResourceByPublicIdsRequestUnion$) {
    /** @deprecated use `DeleteResourceByPublicIdsRequestUnion$inboundSchema` instead. */
    DeleteResourceByPublicIdsRequestUnion$.inboundSchema = DeleteResourceByPublicIdsRequestUnion$inboundSchema;
    /** @deprecated use `DeleteResourceByPublicIdsRequestUnion$outboundSchema` instead. */
    DeleteResourceByPublicIdsRequestUnion$.outboundSchema = DeleteResourceByPublicIdsRequestUnion$outboundSchema;
})(DeleteResourceByPublicIdsRequestUnion$ || (DeleteResourceByPublicIdsRequestUnion$ = {}));
export function deleteResourceByPublicIdsRequestUnionToJSON(deleteResourceByPublicIdsRequestUnion) {
    return JSON.stringify(DeleteResourceByPublicIdsRequestUnion$outboundSchema.parse(deleteResourceByPublicIdsRequestUnion));
}
export function deleteResourceByPublicIdsRequestUnionFromJSON(jsonString) {
    return safeParse(jsonString, (x) => DeleteResourceByPublicIdsRequestUnion$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'DeleteResourceByPublicIdsRequestUnion' from JSON`);
}
//# sourceMappingURL=deleteresourcebypublicidsrequestunion.js.map