/*
 * 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";
/**
 * Filter by resource type within the folder.
 */
export const ListResourcesByAssetFolderResourceType = {
    Image: "image",
    Video: "video",
    Raw: "raw",
};
/** @internal */
export const ListResourcesByAssetFolderGlobals$inboundSchema = z.object({
    cloud_name: z.string().optional(),
}).transform((v) => {
    return remap$(v, {
        "cloud_name": "cloudName",
    });
});
/** @internal */
export const ListResourcesByAssetFolderGlobals$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 ListResourcesByAssetFolderGlobals$;
(function (ListResourcesByAssetFolderGlobals$) {
    /** @deprecated use `ListResourcesByAssetFolderGlobals$inboundSchema` instead. */
    ListResourcesByAssetFolderGlobals$.inboundSchema = ListResourcesByAssetFolderGlobals$inboundSchema;
    /** @deprecated use `ListResourcesByAssetFolderGlobals$outboundSchema` instead. */
    ListResourcesByAssetFolderGlobals$.outboundSchema = ListResourcesByAssetFolderGlobals$outboundSchema;
})(ListResourcesByAssetFolderGlobals$ || (ListResourcesByAssetFolderGlobals$ = {}));
export function listResourcesByAssetFolderGlobalsToJSON(listResourcesByAssetFolderGlobals) {
    return JSON.stringify(ListResourcesByAssetFolderGlobals$outboundSchema.parse(listResourcesByAssetFolderGlobals));
}
export function listResourcesByAssetFolderGlobalsFromJSON(jsonString) {
    return safeParse(jsonString, (x) => ListResourcesByAssetFolderGlobals$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ListResourcesByAssetFolderGlobals' from JSON`);
}
/** @internal */
export const ListResourcesByAssetFolderResourceType$inboundSchema = z.nativeEnum(ListResourcesByAssetFolderResourceType);
/** @internal */
export const ListResourcesByAssetFolderResourceType$outboundSchema = ListResourcesByAssetFolderResourceType$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var ListResourcesByAssetFolderResourceType$;
(function (ListResourcesByAssetFolderResourceType$) {
    /** @deprecated use `ListResourcesByAssetFolderResourceType$inboundSchema` instead. */
    ListResourcesByAssetFolderResourceType$.inboundSchema = ListResourcesByAssetFolderResourceType$inboundSchema;
    /** @deprecated use `ListResourcesByAssetFolderResourceType$outboundSchema` instead. */
    ListResourcesByAssetFolderResourceType$.outboundSchema = ListResourcesByAssetFolderResourceType$outboundSchema;
})(ListResourcesByAssetFolderResourceType$ || (ListResourcesByAssetFolderResourceType$ = {}));
/** @internal */
export const ListResourcesByAssetFolderRequest$inboundSchema = z.object({
    asset_folder: z.string(),
    resource_type: ListResourcesByAssetFolderResourceType$inboundSchema
        .optional(),
    next_cursor: z.string().optional(),
    max_results: z.number().int().optional(),
    direction: components.Direction$inboundSchema.optional(),
    fields: z.array(components.FieldsSpec$inboundSchema).optional(),
}).transform((v) => {
    return remap$(v, {
        "asset_folder": "assetFolder",
        "resource_type": "resourceType",
        "next_cursor": "nextCursor",
        "max_results": "maxResults",
    });
});
/** @internal */
export const ListResourcesByAssetFolderRequest$outboundSchema = z.object({
    assetFolder: z.string(),
    resourceType: ListResourcesByAssetFolderResourceType$outboundSchema
        .optional(),
    nextCursor: z.string().optional(),
    maxResults: z.number().int().optional(),
    direction: components.Direction$outboundSchema.optional(),
    fields: z.array(components.FieldsSpec$outboundSchema).optional(),
}).transform((v) => {
    return remap$(v, {
        assetFolder: "asset_folder",
        resourceType: "resource_type",
        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 ListResourcesByAssetFolderRequest$;
(function (ListResourcesByAssetFolderRequest$) {
    /** @deprecated use `ListResourcesByAssetFolderRequest$inboundSchema` instead. */
    ListResourcesByAssetFolderRequest$.inboundSchema = ListResourcesByAssetFolderRequest$inboundSchema;
    /** @deprecated use `ListResourcesByAssetFolderRequest$outboundSchema` instead. */
    ListResourcesByAssetFolderRequest$.outboundSchema = ListResourcesByAssetFolderRequest$outboundSchema;
})(ListResourcesByAssetFolderRequest$ || (ListResourcesByAssetFolderRequest$ = {}));
export function listResourcesByAssetFolderRequestToJSON(listResourcesByAssetFolderRequest) {
    return JSON.stringify(ListResourcesByAssetFolderRequest$outboundSchema.parse(listResourcesByAssetFolderRequest));
}
export function listResourcesByAssetFolderRequestFromJSON(jsonString) {
    return safeParse(jsonString, (x) => ListResourcesByAssetFolderRequest$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ListResourcesByAssetFolderRequest' from JSON`);
}
//# sourceMappingURL=listresourcesbyassetfolder.js.map