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 declare const Deleted: {
    readonly Deleted: "deleted";
    readonly NotFound: "not_found";
};
export type Deleted = ClosedEnum<typeof Deleted>;
export type Invalidation = {
    /**
     * Time taken for CDN invalidation in seconds
     */
    took?: number | undefined;
    /**
     * Array of URLs that were invalidated
     */
    urls?: Array<string> | undefined;
};
/**
 * Response for derived resource deletion
 */
export type DerivedDestroyResponse = {
    /**
     * Map of derived resource IDs to deletion status
     */
    deleted?: {
        [k: string]: Deleted;
    } | undefined;
    /**
     * Array of derived resource IDs that were not authorized to be deleted
     */
    unauthorized?: Array<string> | undefined;
    invalidation?: Invalidation | undefined;
};
/** @internal */
export declare const Deleted$inboundSchema: z.ZodNativeEnum<typeof Deleted>;
/** @internal */
export declare const Deleted$outboundSchema: z.ZodNativeEnum<typeof Deleted>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Deleted$ {
    /** @deprecated use `Deleted$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly Deleted: "deleted";
        readonly NotFound: "not_found";
    }>;
    /** @deprecated use `Deleted$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly Deleted: "deleted";
        readonly NotFound: "not_found";
    }>;
}
/** @internal */
export declare const Invalidation$inboundSchema: z.ZodType<Invalidation, z.ZodTypeDef, unknown>;
/** @internal */
export type Invalidation$Outbound = {
    took?: number | undefined;
    urls?: Array<string> | undefined;
};
/** @internal */
export declare const Invalidation$outboundSchema: z.ZodType<Invalidation$Outbound, z.ZodTypeDef, Invalidation>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Invalidation$ {
    /** @deprecated use `Invalidation$inboundSchema` instead. */
    const inboundSchema: z.ZodType<Invalidation, z.ZodTypeDef, unknown>;
    /** @deprecated use `Invalidation$outboundSchema` instead. */
    const outboundSchema: z.ZodType<Invalidation$Outbound, z.ZodTypeDef, Invalidation>;
    /** @deprecated use `Invalidation$Outbound` instead. */
    type Outbound = Invalidation$Outbound;
}
export declare function invalidationToJSON(invalidation: Invalidation): string;
export declare function invalidationFromJSON(jsonString: string): SafeParseResult<Invalidation, SDKValidationError>;
/** @internal */
export declare const DerivedDestroyResponse$inboundSchema: z.ZodType<DerivedDestroyResponse, z.ZodTypeDef, unknown>;
/** @internal */
export type DerivedDestroyResponse$Outbound = {
    deleted?: {
        [k: string]: string;
    } | undefined;
    unauthorized?: Array<string> | undefined;
    invalidation?: Invalidation$Outbound | undefined;
};
/** @internal */
export declare const DerivedDestroyResponse$outboundSchema: z.ZodType<DerivedDestroyResponse$Outbound, z.ZodTypeDef, DerivedDestroyResponse>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace DerivedDestroyResponse$ {
    /** @deprecated use `DerivedDestroyResponse$inboundSchema` instead. */
    const inboundSchema: z.ZodType<DerivedDestroyResponse, z.ZodTypeDef, unknown>;
    /** @deprecated use `DerivedDestroyResponse$outboundSchema` instead. */
    const outboundSchema: z.ZodType<DerivedDestroyResponse$Outbound, z.ZodTypeDef, DerivedDestroyResponse>;
    /** @deprecated use `DerivedDestroyResponse$Outbound` instead. */
    type Outbound = DerivedDestroyResponse$Outbound;
}
export declare function derivedDestroyResponseToJSON(derivedDestroyResponse: DerivedDestroyResponse): string;
export declare function derivedDestroyResponseFromJSON(jsonString: string): SafeParseResult<DerivedDestroyResponse, SDKValidationError>;
//# sourceMappingURL=deriveddestroyresponse.d.ts.map