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 DestroyAssetGlobals = {
    /**
     * The cloud name of your product environment.
     */
    cloudName?: string | undefined;
};
/**
 * The type of asset/resource to destroy
 */
export declare const DestroyAssetResourceType: {
    readonly Image: "image";
    readonly Video: "video";
    readonly Raw: "raw";
};
/**
 * The type of asset/resource to destroy
 */
export type DestroyAssetResourceType = ClosedEnum<typeof DestroyAssetResourceType>;
export type DestroyAssetRequest = {
    /**
     * The type of asset/resource to destroy
     */
    resourceType: DestroyAssetResourceType;
    /**
     * The public ID of the asset/resource to destroy
     */
    publicId: string;
    /**
     * Whether to invalidate CDN cached copies of the asset
     */
    invalidate?: boolean | undefined;
};
/**
 * Indicates successful deletion
 */
export declare const Result: {
    readonly Ok: "ok";
};
/**
 * Indicates successful deletion
 */
export type Result = ClosedEnum<typeof Result>;
/**
 * Asset/resource destroyed successfully
 */
export type DestroyAssetResponse = {
    /**
     * Indicates successful deletion
     */
    result?: Result | undefined;
};
/** @internal */
export declare const DestroyAssetGlobals$inboundSchema: z.ZodType<DestroyAssetGlobals, z.ZodTypeDef, unknown>;
/** @internal */
export type DestroyAssetGlobals$Outbound = {
    cloud_name?: string | undefined;
};
/** @internal */
export declare const DestroyAssetGlobals$outboundSchema: z.ZodType<DestroyAssetGlobals$Outbound, z.ZodTypeDef, DestroyAssetGlobals>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace DestroyAssetGlobals$ {
    /** @deprecated use `DestroyAssetGlobals$inboundSchema` instead. */
    const inboundSchema: z.ZodType<DestroyAssetGlobals, z.ZodTypeDef, unknown>;
    /** @deprecated use `DestroyAssetGlobals$outboundSchema` instead. */
    const outboundSchema: z.ZodType<DestroyAssetGlobals$Outbound, z.ZodTypeDef, DestroyAssetGlobals>;
    /** @deprecated use `DestroyAssetGlobals$Outbound` instead. */
    type Outbound = DestroyAssetGlobals$Outbound;
}
export declare function destroyAssetGlobalsToJSON(destroyAssetGlobals: DestroyAssetGlobals): string;
export declare function destroyAssetGlobalsFromJSON(jsonString: string): SafeParseResult<DestroyAssetGlobals, SDKValidationError>;
/** @internal */
export declare const DestroyAssetResourceType$inboundSchema: z.ZodNativeEnum<typeof DestroyAssetResourceType>;
/** @internal */
export declare const DestroyAssetResourceType$outboundSchema: z.ZodNativeEnum<typeof DestroyAssetResourceType>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace DestroyAssetResourceType$ {
    /** @deprecated use `DestroyAssetResourceType$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly Image: "image";
        readonly Video: "video";
        readonly Raw: "raw";
    }>;
    /** @deprecated use `DestroyAssetResourceType$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly Image: "image";
        readonly Video: "video";
        readonly Raw: "raw";
    }>;
}
/** @internal */
export declare const DestroyAssetRequest$inboundSchema: z.ZodType<DestroyAssetRequest, z.ZodTypeDef, unknown>;
/** @internal */
export type DestroyAssetRequest$Outbound = {
    resource_type: string;
    public_id: string;
    invalidate: boolean;
};
/** @internal */
export declare const DestroyAssetRequest$outboundSchema: z.ZodType<DestroyAssetRequest$Outbound, z.ZodTypeDef, DestroyAssetRequest>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace DestroyAssetRequest$ {
    /** @deprecated use `DestroyAssetRequest$inboundSchema` instead. */
    const inboundSchema: z.ZodType<DestroyAssetRequest, z.ZodTypeDef, unknown>;
    /** @deprecated use `DestroyAssetRequest$outboundSchema` instead. */
    const outboundSchema: z.ZodType<DestroyAssetRequest$Outbound, z.ZodTypeDef, DestroyAssetRequest>;
    /** @deprecated use `DestroyAssetRequest$Outbound` instead. */
    type Outbound = DestroyAssetRequest$Outbound;
}
export declare function destroyAssetRequestToJSON(destroyAssetRequest: DestroyAssetRequest): string;
export declare function destroyAssetRequestFromJSON(jsonString: string): SafeParseResult<DestroyAssetRequest, SDKValidationError>;
/** @internal */
export declare const Result$inboundSchema: z.ZodNativeEnum<typeof Result>;
/** @internal */
export declare const Result$outboundSchema: z.ZodNativeEnum<typeof Result>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Result$ {
    /** @deprecated use `Result$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly Ok: "ok";
    }>;
    /** @deprecated use `Result$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly Ok: "ok";
    }>;
}
/** @internal */
export declare const DestroyAssetResponse$inboundSchema: z.ZodType<DestroyAssetResponse, z.ZodTypeDef, unknown>;
/** @internal */
export type DestroyAssetResponse$Outbound = {
    result?: string | undefined;
};
/** @internal */
export declare const DestroyAssetResponse$outboundSchema: z.ZodType<DestroyAssetResponse$Outbound, z.ZodTypeDef, DestroyAssetResponse>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace DestroyAssetResponse$ {
    /** @deprecated use `DestroyAssetResponse$inboundSchema` instead. */
    const inboundSchema: z.ZodType<DestroyAssetResponse, z.ZodTypeDef, unknown>;
    /** @deprecated use `DestroyAssetResponse$outboundSchema` instead. */
    const outboundSchema: z.ZodType<DestroyAssetResponse$Outbound, z.ZodTypeDef, DestroyAssetResponse>;
    /** @deprecated use `DestroyAssetResponse$Outbound` instead. */
    type Outbound = DestroyAssetResponse$Outbound;
}
export declare function destroyAssetResponseToJSON(destroyAssetResponse: DestroyAssetResponse): string;
export declare function destroyAssetResponseFromJSON(jsonString: string): SafeParseResult<DestroyAssetResponse, SDKValidationError>;
//# sourceMappingURL=destroyasset.d.ts.map