import * as z from "zod";
import { ClosedEnum } from "../../types/enums.js";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
export type ExplodeResourceGlobals = {
    /**
     * The cloud name of your product environment.
     */
    cloudName?: string | undefined;
};
/**
 * The type of resource to explode. only "image"
 */
export declare const ExplodeResourceResourceType: {
    readonly Image: "image";
};
/**
 * The type of resource to explode. only "image"
 */
export type ExplodeResourceResourceType = ClosedEnum<typeof ExplodeResourceResourceType>;
/**
 * description: The delivery type of the asset. Default: upload
 */
export declare const ExplodeResourceType: {
    readonly Upload: "upload";
    readonly Private: "private";
    readonly Authenticated: "authenticated";
};
/**
 * description: The delivery type of the asset. Default: upload
 */
export type ExplodeResourceType = ClosedEnum<typeof ExplodeResourceType>;
export type ExplodeResourceRequestBody = {
    /**
     * The public ID of the PDF or animated image to generate from.
     */
    publicId: string;
    /**
     * The format for the generated derived images. Default: png
     */
    format?: string | undefined;
    /**
     * The transformation to apply. Must contain exactly one pg_all transformation parameter.
     */
    transformation: string;
    /**
     * Used to authenticate the request and based on the parameters you use in the request. Use it if you manually generate your own signed POST request.
     */
    signature: string;
    /**
     * The webhook URL to notify when the operation is complete.
     */
    notificationUrl?: string | undefined;
    /**
     * description: The delivery type of the asset. Default: upload
     */
    type?: ExplodeResourceType | undefined;
};
export type ExplodeResourceRequest = {
    /**
     * The type of resource to explode. only "image"
     */
    resourceType: ExplodeResourceResourceType;
    requestBody: ExplodeResourceRequestBody;
};
/**
 * The status of the explode operation.
 */
export declare const Status: {
    readonly Processing: "processing";
};
/**
 * The status of the explode operation.
 */
export type Status = ClosedEnum<typeof Status>;
/**
 * Explode operation started successfully
 */
export type ExplodeResourceResponse = {
    /**
     * The status of the explode operation.
     */
    status?: Status | undefined;
    /**
     * The ID of the batch operation.
     */
    batchId?: string | undefined;
};
/** @internal */
export declare const ExplodeResourceGlobals$inboundSchema: z.ZodType<ExplodeResourceGlobals, z.ZodTypeDef, unknown>;
/** @internal */
export type ExplodeResourceGlobals$Outbound = {
    cloud_name?: string | undefined;
};
/** @internal */
export declare const ExplodeResourceGlobals$outboundSchema: z.ZodType<ExplodeResourceGlobals$Outbound, z.ZodTypeDef, ExplodeResourceGlobals>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace ExplodeResourceGlobals$ {
    /** @deprecated use `ExplodeResourceGlobals$inboundSchema` instead. */
    const inboundSchema: z.ZodType<ExplodeResourceGlobals, z.ZodTypeDef, unknown>;
    /** @deprecated use `ExplodeResourceGlobals$outboundSchema` instead. */
    const outboundSchema: z.ZodType<ExplodeResourceGlobals$Outbound, z.ZodTypeDef, ExplodeResourceGlobals>;
    /** @deprecated use `ExplodeResourceGlobals$Outbound` instead. */
    type Outbound = ExplodeResourceGlobals$Outbound;
}
export declare function explodeResourceGlobalsToJSON(explodeResourceGlobals: ExplodeResourceGlobals): string;
export declare function explodeResourceGlobalsFromJSON(jsonString: string): SafeParseResult<ExplodeResourceGlobals, SDKValidationError>;
/** @internal */
export declare const ExplodeResourceResourceType$inboundSchema: z.ZodNativeEnum<typeof ExplodeResourceResourceType>;
/** @internal */
export declare const ExplodeResourceResourceType$outboundSchema: z.ZodNativeEnum<typeof ExplodeResourceResourceType>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace ExplodeResourceResourceType$ {
    /** @deprecated use `ExplodeResourceResourceType$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly Image: "image";
    }>;
    /** @deprecated use `ExplodeResourceResourceType$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly Image: "image";
    }>;
}
/** @internal */
export declare const ExplodeResourceType$inboundSchema: z.ZodNativeEnum<typeof ExplodeResourceType>;
/** @internal */
export declare const ExplodeResourceType$outboundSchema: z.ZodNativeEnum<typeof ExplodeResourceType>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace ExplodeResourceType$ {
    /** @deprecated use `ExplodeResourceType$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly Upload: "upload";
        readonly Private: "private";
        readonly Authenticated: "authenticated";
    }>;
    /** @deprecated use `ExplodeResourceType$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly Upload: "upload";
        readonly Private: "private";
        readonly Authenticated: "authenticated";
    }>;
}
/** @internal */
export declare const ExplodeResourceRequestBody$inboundSchema: z.ZodType<ExplodeResourceRequestBody, z.ZodTypeDef, unknown>;
/** @internal */
export type ExplodeResourceRequestBody$Outbound = {
    public_id: string;
    format?: string | undefined;
    transformation: string;
    signature: string;
    notification_url?: string | undefined;
    type?: string | undefined;
};
/** @internal */
export declare const ExplodeResourceRequestBody$outboundSchema: z.ZodType<ExplodeResourceRequestBody$Outbound, z.ZodTypeDef, ExplodeResourceRequestBody>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace ExplodeResourceRequestBody$ {
    /** @deprecated use `ExplodeResourceRequestBody$inboundSchema` instead. */
    const inboundSchema: z.ZodType<ExplodeResourceRequestBody, z.ZodTypeDef, unknown>;
    /** @deprecated use `ExplodeResourceRequestBody$outboundSchema` instead. */
    const outboundSchema: z.ZodType<ExplodeResourceRequestBody$Outbound, z.ZodTypeDef, ExplodeResourceRequestBody>;
    /** @deprecated use `ExplodeResourceRequestBody$Outbound` instead. */
    type Outbound = ExplodeResourceRequestBody$Outbound;
}
export declare function explodeResourceRequestBodyToJSON(explodeResourceRequestBody: ExplodeResourceRequestBody): string;
export declare function explodeResourceRequestBodyFromJSON(jsonString: string): SafeParseResult<ExplodeResourceRequestBody, SDKValidationError>;
/** @internal */
export declare const ExplodeResourceRequest$inboundSchema: z.ZodType<ExplodeResourceRequest, z.ZodTypeDef, unknown>;
/** @internal */
export type ExplodeResourceRequest$Outbound = {
    resource_type: string;
    RequestBody: ExplodeResourceRequestBody$Outbound;
};
/** @internal */
export declare const ExplodeResourceRequest$outboundSchema: z.ZodType<ExplodeResourceRequest$Outbound, z.ZodTypeDef, ExplodeResourceRequest>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace ExplodeResourceRequest$ {
    /** @deprecated use `ExplodeResourceRequest$inboundSchema` instead. */
    const inboundSchema: z.ZodType<ExplodeResourceRequest, z.ZodTypeDef, unknown>;
    /** @deprecated use `ExplodeResourceRequest$outboundSchema` instead. */
    const outboundSchema: z.ZodType<ExplodeResourceRequest$Outbound, z.ZodTypeDef, ExplodeResourceRequest>;
    /** @deprecated use `ExplodeResourceRequest$Outbound` instead. */
    type Outbound = ExplodeResourceRequest$Outbound;
}
export declare function explodeResourceRequestToJSON(explodeResourceRequest: ExplodeResourceRequest): string;
export declare function explodeResourceRequestFromJSON(jsonString: string): SafeParseResult<ExplodeResourceRequest, SDKValidationError>;
/** @internal */
export declare const Status$inboundSchema: z.ZodNativeEnum<typeof Status>;
/** @internal */
export declare const Status$outboundSchema: z.ZodNativeEnum<typeof Status>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Status$ {
    /** @deprecated use `Status$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly Processing: "processing";
    }>;
    /** @deprecated use `Status$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly Processing: "processing";
    }>;
}
/** @internal */
export declare const ExplodeResourceResponse$inboundSchema: z.ZodType<ExplodeResourceResponse, z.ZodTypeDef, unknown>;
/** @internal */
export type ExplodeResourceResponse$Outbound = {
    status?: string | undefined;
    batch_id?: string | undefined;
};
/** @internal */
export declare const ExplodeResourceResponse$outboundSchema: z.ZodType<ExplodeResourceResponse$Outbound, z.ZodTypeDef, ExplodeResourceResponse>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace ExplodeResourceResponse$ {
    /** @deprecated use `ExplodeResourceResponse$inboundSchema` instead. */
    const inboundSchema: z.ZodType<ExplodeResourceResponse, z.ZodTypeDef, unknown>;
    /** @deprecated use `ExplodeResourceResponse$outboundSchema` instead. */
    const outboundSchema: z.ZodType<ExplodeResourceResponse$Outbound, z.ZodTypeDef, ExplodeResourceResponse>;
    /** @deprecated use `ExplodeResourceResponse$Outbound` instead. */
    type Outbound = ExplodeResourceResponse$Outbound;
}
export declare function explodeResourceResponseToJSON(explodeResourceResponse: ExplodeResourceResponse): string;
export declare function explodeResourceResponseFromJSON(jsonString: string): SafeParseResult<ExplodeResourceResponse, SDKValidationError>;
//# sourceMappingURL=exploderesource.d.ts.map