import * as z from "zod";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
export type DeleteBackupVersionsGlobals = {
    /**
     * The cloud name of your product environment.
     */
    cloudName?: string | undefined;
};
export type DeleteBackupVersionsRequestBody = {
    /**
     * The list of version IDs to delete from backup.
     */
    versionIds: Array<string>;
};
export type DeleteBackupVersionsRequest = {
    /**
     * The asset ID of the resource.
     */
    assetId: string;
    requestBody: DeleteBackupVersionsRequestBody;
};
export type Failure = {
    /**
     * The version ID that failed to delete.
     */
    versionId?: string | undefined;
    /**
     * The error message explaining the failure.
     */
    error?: string | undefined;
};
/**
 * Multi-status - some versions deleted successfully, others failed
 */
export type DeleteBackupVersionsResponseBody2 = {
    /**
     * The asset ID of the resource.
     */
    assetId: string;
    /**
     * The list of version IDs that were successfully deleted.
     */
    deletedVersionIds: Array<string>;
    /**
     * The list of version IDs that failed to delete with error messages.
     */
    failures?: Array<Failure> | undefined;
};
/**
 * Backup versions successfully deleted
 */
export type DeleteBackupVersionsResponseBody1 = {
    /**
     * The asset ID of the resource.
     */
    assetId: string;
    /**
     * The list of version IDs that were successfully deleted.
     */
    deletedVersionIds: Array<string>;
};
export type DeleteBackupVersionsResponse = DeleteBackupVersionsResponseBody1 | DeleteBackupVersionsResponseBody2;
/** @internal */
export declare const DeleteBackupVersionsGlobals$inboundSchema: z.ZodType<DeleteBackupVersionsGlobals, z.ZodTypeDef, unknown>;
/** @internal */
export type DeleteBackupVersionsGlobals$Outbound = {
    cloud_name?: string | undefined;
};
/** @internal */
export declare const DeleteBackupVersionsGlobals$outboundSchema: z.ZodType<DeleteBackupVersionsGlobals$Outbound, z.ZodTypeDef, DeleteBackupVersionsGlobals>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace DeleteBackupVersionsGlobals$ {
    /** @deprecated use `DeleteBackupVersionsGlobals$inboundSchema` instead. */
    const inboundSchema: z.ZodType<DeleteBackupVersionsGlobals, z.ZodTypeDef, unknown>;
    /** @deprecated use `DeleteBackupVersionsGlobals$outboundSchema` instead. */
    const outboundSchema: z.ZodType<DeleteBackupVersionsGlobals$Outbound, z.ZodTypeDef, DeleteBackupVersionsGlobals>;
    /** @deprecated use `DeleteBackupVersionsGlobals$Outbound` instead. */
    type Outbound = DeleteBackupVersionsGlobals$Outbound;
}
export declare function deleteBackupVersionsGlobalsToJSON(deleteBackupVersionsGlobals: DeleteBackupVersionsGlobals): string;
export declare function deleteBackupVersionsGlobalsFromJSON(jsonString: string): SafeParseResult<DeleteBackupVersionsGlobals, SDKValidationError>;
/** @internal */
export declare const DeleteBackupVersionsRequestBody$inboundSchema: z.ZodType<DeleteBackupVersionsRequestBody, z.ZodTypeDef, unknown>;
/** @internal */
export type DeleteBackupVersionsRequestBody$Outbound = {
    version_ids: Array<string>;
};
/** @internal */
export declare const DeleteBackupVersionsRequestBody$outboundSchema: z.ZodType<DeleteBackupVersionsRequestBody$Outbound, z.ZodTypeDef, DeleteBackupVersionsRequestBody>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace DeleteBackupVersionsRequestBody$ {
    /** @deprecated use `DeleteBackupVersionsRequestBody$inboundSchema` instead. */
    const inboundSchema: z.ZodType<DeleteBackupVersionsRequestBody, z.ZodTypeDef, unknown>;
    /** @deprecated use `DeleteBackupVersionsRequestBody$outboundSchema` instead. */
    const outboundSchema: z.ZodType<DeleteBackupVersionsRequestBody$Outbound, z.ZodTypeDef, DeleteBackupVersionsRequestBody>;
    /** @deprecated use `DeleteBackupVersionsRequestBody$Outbound` instead. */
    type Outbound = DeleteBackupVersionsRequestBody$Outbound;
}
export declare function deleteBackupVersionsRequestBodyToJSON(deleteBackupVersionsRequestBody: DeleteBackupVersionsRequestBody): string;
export declare function deleteBackupVersionsRequestBodyFromJSON(jsonString: string): SafeParseResult<DeleteBackupVersionsRequestBody, SDKValidationError>;
/** @internal */
export declare const DeleteBackupVersionsRequest$inboundSchema: z.ZodType<DeleteBackupVersionsRequest, z.ZodTypeDef, unknown>;
/** @internal */
export type DeleteBackupVersionsRequest$Outbound = {
    asset_id: string;
    RequestBody: DeleteBackupVersionsRequestBody$Outbound;
};
/** @internal */
export declare const DeleteBackupVersionsRequest$outboundSchema: z.ZodType<DeleteBackupVersionsRequest$Outbound, z.ZodTypeDef, DeleteBackupVersionsRequest>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace DeleteBackupVersionsRequest$ {
    /** @deprecated use `DeleteBackupVersionsRequest$inboundSchema` instead. */
    const inboundSchema: z.ZodType<DeleteBackupVersionsRequest, z.ZodTypeDef, unknown>;
    /** @deprecated use `DeleteBackupVersionsRequest$outboundSchema` instead. */
    const outboundSchema: z.ZodType<DeleteBackupVersionsRequest$Outbound, z.ZodTypeDef, DeleteBackupVersionsRequest>;
    /** @deprecated use `DeleteBackupVersionsRequest$Outbound` instead. */
    type Outbound = DeleteBackupVersionsRequest$Outbound;
}
export declare function deleteBackupVersionsRequestToJSON(deleteBackupVersionsRequest: DeleteBackupVersionsRequest): string;
export declare function deleteBackupVersionsRequestFromJSON(jsonString: string): SafeParseResult<DeleteBackupVersionsRequest, SDKValidationError>;
/** @internal */
export declare const Failure$inboundSchema: z.ZodType<Failure, z.ZodTypeDef, unknown>;
/** @internal */
export type Failure$Outbound = {
    version_id?: string | undefined;
    error?: string | undefined;
};
/** @internal */
export declare const Failure$outboundSchema: z.ZodType<Failure$Outbound, z.ZodTypeDef, Failure>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Failure$ {
    /** @deprecated use `Failure$inboundSchema` instead. */
    const inboundSchema: z.ZodType<Failure, z.ZodTypeDef, unknown>;
    /** @deprecated use `Failure$outboundSchema` instead. */
    const outboundSchema: z.ZodType<Failure$Outbound, z.ZodTypeDef, Failure>;
    /** @deprecated use `Failure$Outbound` instead. */
    type Outbound = Failure$Outbound;
}
export declare function failureToJSON(failure: Failure): string;
export declare function failureFromJSON(jsonString: string): SafeParseResult<Failure, SDKValidationError>;
/** @internal */
export declare const DeleteBackupVersionsResponseBody2$inboundSchema: z.ZodType<DeleteBackupVersionsResponseBody2, z.ZodTypeDef, unknown>;
/** @internal */
export type DeleteBackupVersionsResponseBody2$Outbound = {
    asset_id: string;
    deleted_version_ids: Array<string>;
    failures?: Array<Failure$Outbound> | undefined;
};
/** @internal */
export declare const DeleteBackupVersionsResponseBody2$outboundSchema: z.ZodType<DeleteBackupVersionsResponseBody2$Outbound, z.ZodTypeDef, DeleteBackupVersionsResponseBody2>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace DeleteBackupVersionsResponseBody2$ {
    /** @deprecated use `DeleteBackupVersionsResponseBody2$inboundSchema` instead. */
    const inboundSchema: z.ZodType<DeleteBackupVersionsResponseBody2, z.ZodTypeDef, unknown>;
    /** @deprecated use `DeleteBackupVersionsResponseBody2$outboundSchema` instead. */
    const outboundSchema: z.ZodType<DeleteBackupVersionsResponseBody2$Outbound, z.ZodTypeDef, DeleteBackupVersionsResponseBody2>;
    /** @deprecated use `DeleteBackupVersionsResponseBody2$Outbound` instead. */
    type Outbound = DeleteBackupVersionsResponseBody2$Outbound;
}
export declare function deleteBackupVersionsResponseBody2ToJSON(deleteBackupVersionsResponseBody2: DeleteBackupVersionsResponseBody2): string;
export declare function deleteBackupVersionsResponseBody2FromJSON(jsonString: string): SafeParseResult<DeleteBackupVersionsResponseBody2, SDKValidationError>;
/** @internal */
export declare const DeleteBackupVersionsResponseBody1$inboundSchema: z.ZodType<DeleteBackupVersionsResponseBody1, z.ZodTypeDef, unknown>;
/** @internal */
export type DeleteBackupVersionsResponseBody1$Outbound = {
    asset_id: string;
    deleted_version_ids: Array<string>;
};
/** @internal */
export declare const DeleteBackupVersionsResponseBody1$outboundSchema: z.ZodType<DeleteBackupVersionsResponseBody1$Outbound, z.ZodTypeDef, DeleteBackupVersionsResponseBody1>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace DeleteBackupVersionsResponseBody1$ {
    /** @deprecated use `DeleteBackupVersionsResponseBody1$inboundSchema` instead. */
    const inboundSchema: z.ZodType<DeleteBackupVersionsResponseBody1, z.ZodTypeDef, unknown>;
    /** @deprecated use `DeleteBackupVersionsResponseBody1$outboundSchema` instead. */
    const outboundSchema: z.ZodType<DeleteBackupVersionsResponseBody1$Outbound, z.ZodTypeDef, DeleteBackupVersionsResponseBody1>;
    /** @deprecated use `DeleteBackupVersionsResponseBody1$Outbound` instead. */
    type Outbound = DeleteBackupVersionsResponseBody1$Outbound;
}
export declare function deleteBackupVersionsResponseBody1ToJSON(deleteBackupVersionsResponseBody1: DeleteBackupVersionsResponseBody1): string;
export declare function deleteBackupVersionsResponseBody1FromJSON(jsonString: string): SafeParseResult<DeleteBackupVersionsResponseBody1, SDKValidationError>;
/** @internal */
export declare const DeleteBackupVersionsResponse$inboundSchema: z.ZodType<DeleteBackupVersionsResponse, z.ZodTypeDef, unknown>;
/** @internal */
export type DeleteBackupVersionsResponse$Outbound = DeleteBackupVersionsResponseBody1$Outbound | DeleteBackupVersionsResponseBody2$Outbound;
/** @internal */
export declare const DeleteBackupVersionsResponse$outboundSchema: z.ZodType<DeleteBackupVersionsResponse$Outbound, z.ZodTypeDef, DeleteBackupVersionsResponse>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace DeleteBackupVersionsResponse$ {
    /** @deprecated use `DeleteBackupVersionsResponse$inboundSchema` instead. */
    const inboundSchema: z.ZodType<DeleteBackupVersionsResponse, z.ZodTypeDef, unknown>;
    /** @deprecated use `DeleteBackupVersionsResponse$outboundSchema` instead. */
    const outboundSchema: z.ZodType<DeleteBackupVersionsResponse$Outbound, z.ZodTypeDef, DeleteBackupVersionsResponse>;
    /** @deprecated use `DeleteBackupVersionsResponse$Outbound` instead. */
    type Outbound = DeleteBackupVersionsResponse$Outbound;
}
export declare function deleteBackupVersionsResponseToJSON(deleteBackupVersionsResponse: DeleteBackupVersionsResponse): string;
export declare function deleteBackupVersionsResponseFromJSON(jsonString: string): SafeParseResult<DeleteBackupVersionsResponse, SDKValidationError>;
//# sourceMappingURL=deletebackupversions.d.ts.map