import * as z from "zod";
import { Result as SafeParseResult } from "../../types/fp.js";
import * as components from "../components/index.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
export type UploadGlobals = {
    /**
     * The cloud name of your product environment.
     */
    cloudName?: string | undefined;
};
export type UploadRequest = {
    /**
     * The type of resource to upload:
     *
     * @remarks
     * - "image" for uploading strictly images
     * - "video" for uploading strictly videos
     * - "raw" for uploading non-media files
     * - "auto" for allowing Cloudinary to automatically detect the type of the uploaded file
     */
    resourceType?: components.UploadResourceType | undefined;
    uploadRequest: components.UploadRequest;
};
/**
 * Successful upload
 */
export type UploadResponseBody = components.AsyncUploadResponse | components.UploadResponse;
export type UploadResponse = components.AsyncUploadResponse | components.UploadResponse | string;
/** @internal */
export declare const UploadGlobals$inboundSchema: z.ZodType<UploadGlobals, z.ZodTypeDef, unknown>;
/** @internal */
export type UploadGlobals$Outbound = {
    cloud_name?: string | undefined;
};
/** @internal */
export declare const UploadGlobals$outboundSchema: z.ZodType<UploadGlobals$Outbound, z.ZodTypeDef, UploadGlobals>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace UploadGlobals$ {
    /** @deprecated use `UploadGlobals$inboundSchema` instead. */
    const inboundSchema: z.ZodType<UploadGlobals, z.ZodTypeDef, unknown>;
    /** @deprecated use `UploadGlobals$outboundSchema` instead. */
    const outboundSchema: z.ZodType<UploadGlobals$Outbound, z.ZodTypeDef, UploadGlobals>;
    /** @deprecated use `UploadGlobals$Outbound` instead. */
    type Outbound = UploadGlobals$Outbound;
}
export declare function uploadGlobalsToJSON(uploadGlobals: UploadGlobals): string;
export declare function uploadGlobalsFromJSON(jsonString: string): SafeParseResult<UploadGlobals, SDKValidationError>;
/** @internal */
export declare const UploadRequest$inboundSchema: z.ZodType<UploadRequest, z.ZodTypeDef, unknown>;
/** @internal */
export type UploadRequest$Outbound = {
    resource_type: string;
    upload_request: components.UploadRequest$Outbound;
};
/** @internal */
export declare const UploadRequest$outboundSchema: z.ZodType<UploadRequest$Outbound, z.ZodTypeDef, UploadRequest>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace UploadRequest$ {
    /** @deprecated use `UploadRequest$inboundSchema` instead. */
    const inboundSchema: z.ZodType<UploadRequest, z.ZodTypeDef, unknown>;
    /** @deprecated use `UploadRequest$outboundSchema` instead. */
    const outboundSchema: z.ZodType<UploadRequest$Outbound, z.ZodTypeDef, UploadRequest>;
    /** @deprecated use `UploadRequest$Outbound` instead. */
    type Outbound = UploadRequest$Outbound;
}
export declare function uploadRequestToJSON(uploadRequest: UploadRequest): string;
export declare function uploadRequestFromJSON(jsonString: string): SafeParseResult<UploadRequest, SDKValidationError>;
/** @internal */
export declare const UploadResponseBody$inboundSchema: z.ZodType<UploadResponseBody, z.ZodTypeDef, unknown>;
/** @internal */
export type UploadResponseBody$Outbound = components.AsyncUploadResponse$Outbound | components.UploadResponse$Outbound;
/** @internal */
export declare const UploadResponseBody$outboundSchema: z.ZodType<UploadResponseBody$Outbound, z.ZodTypeDef, UploadResponseBody>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace UploadResponseBody$ {
    /** @deprecated use `UploadResponseBody$inboundSchema` instead. */
    const inboundSchema: z.ZodType<UploadResponseBody, z.ZodTypeDef, unknown>;
    /** @deprecated use `UploadResponseBody$outboundSchema` instead. */
    const outboundSchema: z.ZodType<UploadResponseBody$Outbound, z.ZodTypeDef, UploadResponseBody>;
    /** @deprecated use `UploadResponseBody$Outbound` instead. */
    type Outbound = UploadResponseBody$Outbound;
}
export declare function uploadResponseBodyToJSON(uploadResponseBody: UploadResponseBody): string;
export declare function uploadResponseBodyFromJSON(jsonString: string): SafeParseResult<UploadResponseBody, SDKValidationError>;
/** @internal */
export declare const UploadResponse$inboundSchema: z.ZodType<UploadResponse, z.ZodTypeDef, unknown>;
/** @internal */
export type UploadResponse$Outbound = components.AsyncUploadResponse$Outbound | components.UploadResponse$Outbound | string;
/** @internal */
export declare const UploadResponse$outboundSchema: z.ZodType<UploadResponse$Outbound, z.ZodTypeDef, UploadResponse>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace UploadResponse$ {
    /** @deprecated use `UploadResponse$inboundSchema` instead. */
    const inboundSchema: z.ZodType<UploadResponse, z.ZodTypeDef, unknown>;
    /** @deprecated use `UploadResponse$outboundSchema` instead. */
    const outboundSchema: z.ZodType<UploadResponse$Outbound, z.ZodTypeDef, UploadResponse>;
    /** @deprecated use `UploadResponse$Outbound` instead. */
    type Outbound = UploadResponse$Outbound;
}
export declare function uploadResponseToJSON(uploadResponse: UploadResponse): string;
export declare function uploadResponseFromJSON(jsonString: string): SafeParseResult<UploadResponse, SDKValidationError>;
//# sourceMappingURL=upload.d.ts.map