/*
 * 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";
/**
 * The delivery type of the asset.
 */
export const GetResourceByPublicIdType = {
    Upload: "upload",
    Private: "private",
    Authenticated: "authenticated",
    Fetch: "fetch",
    Facebook: "facebook",
    Twitter: "twitter",
    Gravatar: "gravatar",
    Youtube: "youtube",
    Hulu: "hulu",
    Vimeo: "vimeo",
    Animoto: "animoto",
    Worldstarhiphop: "worldstarhiphop",
    Dailymotion: "dailymotion",
    List: "list",
};
/** @internal */
export const GetResourceByPublicIdGlobals$inboundSchema = z.object({
    cloud_name: z.string().optional(),
}).transform((v) => {
    return remap$(v, {
        "cloud_name": "cloudName",
    });
});
/** @internal */
export const GetResourceByPublicIdGlobals$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 GetResourceByPublicIdGlobals$;
(function (GetResourceByPublicIdGlobals$) {
    /** @deprecated use `GetResourceByPublicIdGlobals$inboundSchema` instead. */
    GetResourceByPublicIdGlobals$.inboundSchema = GetResourceByPublicIdGlobals$inboundSchema;
    /** @deprecated use `GetResourceByPublicIdGlobals$outboundSchema` instead. */
    GetResourceByPublicIdGlobals$.outboundSchema = GetResourceByPublicIdGlobals$outboundSchema;
})(GetResourceByPublicIdGlobals$ || (GetResourceByPublicIdGlobals$ = {}));
export function getResourceByPublicIdGlobalsToJSON(getResourceByPublicIdGlobals) {
    return JSON.stringify(GetResourceByPublicIdGlobals$outboundSchema.parse(getResourceByPublicIdGlobals));
}
export function getResourceByPublicIdGlobalsFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetResourceByPublicIdGlobals$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetResourceByPublicIdGlobals' from JSON`);
}
/** @internal */
export const GetResourceByPublicIdType$inboundSchema = z.nativeEnum(GetResourceByPublicIdType);
/** @internal */
export const GetResourceByPublicIdType$outboundSchema = GetResourceByPublicIdType$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var GetResourceByPublicIdType$;
(function (GetResourceByPublicIdType$) {
    /** @deprecated use `GetResourceByPublicIdType$inboundSchema` instead. */
    GetResourceByPublicIdType$.inboundSchema = GetResourceByPublicIdType$inboundSchema;
    /** @deprecated use `GetResourceByPublicIdType$outboundSchema` instead. */
    GetResourceByPublicIdType$.outboundSchema = GetResourceByPublicIdType$outboundSchema;
})(GetResourceByPublicIdType$ || (GetResourceByPublicIdType$ = {}));
/** @internal */
export const GetResourceByPublicIdRequest$inboundSchema = z.object({
    resource_type: components.ResourceTypeParameter$inboundSchema,
    type: GetResourceByPublicIdType$inboundSchema,
    public_id: z.string(),
    colors: z.boolean().default(false),
    media_metadata: z.boolean().default(false),
    faces: z.boolean().default(false),
    quality_analysis: z.boolean().default(false),
    accessibility_analysis: z.boolean().default(false),
    pages: z.boolean().default(false),
    phash: z.boolean().default(false),
    coordinates: z.boolean().default(false),
    versions: z.boolean().default(false),
    max_results: z.number().int().default(10),
    derived_next_cursor: z.string().optional(),
}).transform((v) => {
    return remap$(v, {
        "resource_type": "resourceType",
        "public_id": "publicId",
        "media_metadata": "mediaMetadata",
        "quality_analysis": "qualityAnalysis",
        "accessibility_analysis": "accessibilityAnalysis",
        "max_results": "maxResults",
        "derived_next_cursor": "derivedNextCursor",
    });
});
/** @internal */
export const GetResourceByPublicIdRequest$outboundSchema = z.object({
    resourceType: components.ResourceTypeParameter$outboundSchema,
    type: GetResourceByPublicIdType$outboundSchema,
    publicId: z.string(),
    colors: z.boolean().default(false),
    mediaMetadata: z.boolean().default(false),
    faces: z.boolean().default(false),
    qualityAnalysis: z.boolean().default(false),
    accessibilityAnalysis: z.boolean().default(false),
    pages: z.boolean().default(false),
    phash: z.boolean().default(false),
    coordinates: z.boolean().default(false),
    versions: z.boolean().default(false),
    maxResults: z.number().int().default(10),
    derivedNextCursor: z.string().optional(),
}).transform((v) => {
    return remap$(v, {
        resourceType: "resource_type",
        publicId: "public_id",
        mediaMetadata: "media_metadata",
        qualityAnalysis: "quality_analysis",
        accessibilityAnalysis: "accessibility_analysis",
        maxResults: "max_results",
        derivedNextCursor: "derived_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 GetResourceByPublicIdRequest$;
(function (GetResourceByPublicIdRequest$) {
    /** @deprecated use `GetResourceByPublicIdRequest$inboundSchema` instead. */
    GetResourceByPublicIdRequest$.inboundSchema = GetResourceByPublicIdRequest$inboundSchema;
    /** @deprecated use `GetResourceByPublicIdRequest$outboundSchema` instead. */
    GetResourceByPublicIdRequest$.outboundSchema = GetResourceByPublicIdRequest$outboundSchema;
})(GetResourceByPublicIdRequest$ || (GetResourceByPublicIdRequest$ = {}));
export function getResourceByPublicIdRequestToJSON(getResourceByPublicIdRequest) {
    return JSON.stringify(GetResourceByPublicIdRequest$outboundSchema.parse(getResourceByPublicIdRequest));
}
export function getResourceByPublicIdRequestFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetResourceByPublicIdRequest$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetResourceByPublicIdRequest' from JSON`);
}
//# sourceMappingURL=getresourcebypublicid.js.map