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";
/**
 * The moderation status of the resource.
 */
export declare const ModerationStatus: {
    readonly Approved: "approved";
    readonly Rejected: "rejected";
};
/**
 * The moderation status of the resource.
 */
export type ModerationStatus = ClosedEnum<typeof ModerationStatus>;
/**
 * The type of OCR to perform on the resource.
 */
export declare const ResourceUpdateRequestOcr: {
    readonly AdvOcr: "adv_ocr";
};
/**
 * The type of OCR to perform on the resource.
 */
export type ResourceUpdateRequestOcr = ClosedEnum<typeof ResourceUpdateRequestOcr>;
/**
 * The conversion to apply for raw files.
 */
export declare const RawConvert: {
    readonly Aspose: "aspose";
    readonly GoogleSpeech: "google_speech";
    readonly ExtractText: "extract_text";
};
/**
 * The conversion to apply for raw files.
 */
export type RawConvert = ClosedEnum<typeof RawConvert>;
/**
 * The type of categorization to perform on the resource.
 */
export declare const ResourceUpdateRequestCategorization: {
    readonly GoogleTagging: "google_tagging";
    readonly GoogleVideoTagging: "google_video_tagging";
    readonly ImaggaTagging: "imagga_tagging";
    readonly AwsRekTagging: "aws_rek_tagging";
};
/**
 * The type of categorization to perform on the resource.
 */
export type ResourceUpdateRequestCategorization = ClosedEnum<typeof ResourceUpdateRequestCategorization>;
/**
 * The background removal provider to use for the resource.
 */
export declare const ResourceUpdateRequestBackgroundRemoval: {
    readonly CloudinaryAi: "cloudinary_ai";
    readonly Pixelz: "pixelz";
};
/**
 * The background removal provider to use for the resource.
 */
export type ResourceUpdateRequestBackgroundRemoval = ClosedEnum<typeof ResourceUpdateRequestBackgroundRemoval>;
export type ResourceUpdateRequest = {
    /**
     * The display name of the resource.
     */
    displayName?: string | undefined;
    /**
     * Whether to ensure the display name is unique across all resources. If false, the operation will fail if a resource with the same display name exists. Default: false
     */
    uniqueDisplayName?: boolean | undefined;
    /**
     * The folder where the asset should be placed.
     */
    assetFolder?: string | undefined;
    /**
     * A comma-separated list of tags to assign to the resource.
     */
    tags?: string | undefined;
    /**
     * A pipe-separated list of key-value pairs of contextual metadata.
     */
    context?: string | undefined;
    /**
     * A pipe-separated list of custom metadata fields (by external_id) and their values.
     */
    metadata?: string | undefined;
    /**
     * Whether to clear invalid metadata fields. If false, invalid fields will be preserved. Default: false
     */
    clearInvalid?: boolean | undefined;
    /**
     * Face coordinates as comma-separated values, with multiple faces separated by pipes.
     */
    faceCoordinates?: string | undefined;
    /**
     * Custom coordinates as comma-separated values, with multiple coordinates separated by pipes.
     */
    customCoordinates?: string | undefined;
    /**
     * Named groups of coordinate pairs representing regions.
     */
    regions?: string | undefined;
    /**
     * Quality override value that will override any automatic quality transformations.
     */
    qualityOverride?: string | undefined;
    /**
     * The moderation status of the resource.
     */
    moderationStatus?: ModerationStatus | undefined;
    /**
     * Confidence threshold for auto-tagging.
     */
    autoTagging?: number | undefined;
    /**
     * The type of detection to perform on the resource.
     */
    detection?: string | undefined;
    /**
     * The type of OCR to perform on the resource.
     */
    ocr?: ResourceUpdateRequestOcr | undefined;
    /**
     * The conversion to apply for raw files.
     */
    rawConvert?: RawConvert | undefined;
    /**
     * The type of categorization to perform on the resource.
     */
    categorization?: ResourceUpdateRequestCategorization | undefined;
    /**
     * Whether to index the resource with visual search. If true, the resource will be indexed for visual search capabilities. Default: false
     */
    visualSearch?: boolean | undefined;
    /**
     * The background removal provider to use for the resource.
     */
    backgroundRemoval?: ResourceUpdateRequestBackgroundRemoval | undefined;
    /**
     * A JSON array of access_types for the asset. The asset is accessible as long as one of the access types is valid.
     *
     * @remarks
     * Possible values for each access type:
     *   - 'token' - requires either Token-based access or Cookie-based access for accessing the resource.
     *   - 'anonymous' - allows public access to the resource. The anonymous access type should also include start and end dates (in ISO 8601 format) defining when the resource is publicly available.
     */
    accessControl?: string | undefined;
};
/** @internal */
export declare const ModerationStatus$inboundSchema: z.ZodNativeEnum<typeof ModerationStatus>;
/** @internal */
export declare const ModerationStatus$outboundSchema: z.ZodNativeEnum<typeof ModerationStatus>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace ModerationStatus$ {
    /** @deprecated use `ModerationStatus$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly Approved: "approved";
        readonly Rejected: "rejected";
    }>;
    /** @deprecated use `ModerationStatus$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly Approved: "approved";
        readonly Rejected: "rejected";
    }>;
}
/** @internal */
export declare const ResourceUpdateRequestOcr$inboundSchema: z.ZodNativeEnum<typeof ResourceUpdateRequestOcr>;
/** @internal */
export declare const ResourceUpdateRequestOcr$outboundSchema: z.ZodNativeEnum<typeof ResourceUpdateRequestOcr>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace ResourceUpdateRequestOcr$ {
    /** @deprecated use `ResourceUpdateRequestOcr$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly AdvOcr: "adv_ocr";
    }>;
    /** @deprecated use `ResourceUpdateRequestOcr$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly AdvOcr: "adv_ocr";
    }>;
}
/** @internal */
export declare const RawConvert$inboundSchema: z.ZodNativeEnum<typeof RawConvert>;
/** @internal */
export declare const RawConvert$outboundSchema: z.ZodNativeEnum<typeof RawConvert>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace RawConvert$ {
    /** @deprecated use `RawConvert$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly Aspose: "aspose";
        readonly GoogleSpeech: "google_speech";
        readonly ExtractText: "extract_text";
    }>;
    /** @deprecated use `RawConvert$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly Aspose: "aspose";
        readonly GoogleSpeech: "google_speech";
        readonly ExtractText: "extract_text";
    }>;
}
/** @internal */
export declare const ResourceUpdateRequestCategorization$inboundSchema: z.ZodNativeEnum<typeof ResourceUpdateRequestCategorization>;
/** @internal */
export declare const ResourceUpdateRequestCategorization$outboundSchema: z.ZodNativeEnum<typeof ResourceUpdateRequestCategorization>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace ResourceUpdateRequestCategorization$ {
    /** @deprecated use `ResourceUpdateRequestCategorization$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly GoogleTagging: "google_tagging";
        readonly GoogleVideoTagging: "google_video_tagging";
        readonly ImaggaTagging: "imagga_tagging";
        readonly AwsRekTagging: "aws_rek_tagging";
    }>;
    /** @deprecated use `ResourceUpdateRequestCategorization$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly GoogleTagging: "google_tagging";
        readonly GoogleVideoTagging: "google_video_tagging";
        readonly ImaggaTagging: "imagga_tagging";
        readonly AwsRekTagging: "aws_rek_tagging";
    }>;
}
/** @internal */
export declare const ResourceUpdateRequestBackgroundRemoval$inboundSchema: z.ZodNativeEnum<typeof ResourceUpdateRequestBackgroundRemoval>;
/** @internal */
export declare const ResourceUpdateRequestBackgroundRemoval$outboundSchema: z.ZodNativeEnum<typeof ResourceUpdateRequestBackgroundRemoval>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace ResourceUpdateRequestBackgroundRemoval$ {
    /** @deprecated use `ResourceUpdateRequestBackgroundRemoval$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly CloudinaryAi: "cloudinary_ai";
        readonly Pixelz: "pixelz";
    }>;
    /** @deprecated use `ResourceUpdateRequestBackgroundRemoval$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly CloudinaryAi: "cloudinary_ai";
        readonly Pixelz: "pixelz";
    }>;
}
/** @internal */
export declare const ResourceUpdateRequest$inboundSchema: z.ZodType<ResourceUpdateRequest, z.ZodTypeDef, unknown>;
/** @internal */
export type ResourceUpdateRequest$Outbound = {
    display_name?: string | undefined;
    unique_display_name: boolean;
    asset_folder?: string | undefined;
    tags?: string | undefined;
    context?: string | undefined;
    metadata?: string | undefined;
    clear_invalid: boolean;
    face_coordinates?: string | undefined;
    custom_coordinates?: string | undefined;
    regions?: string | undefined;
    quality_override?: string | undefined;
    moderation_status?: string | undefined;
    auto_tagging?: number | undefined;
    detection?: string | undefined;
    ocr?: string | undefined;
    raw_convert?: string | undefined;
    categorization?: string | undefined;
    visual_search?: boolean | undefined;
    background_removal?: string | undefined;
    access_control?: string | undefined;
};
/** @internal */
export declare const ResourceUpdateRequest$outboundSchema: z.ZodType<ResourceUpdateRequest$Outbound, z.ZodTypeDef, ResourceUpdateRequest>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace ResourceUpdateRequest$ {
    /** @deprecated use `ResourceUpdateRequest$inboundSchema` instead. */
    const inboundSchema: z.ZodType<ResourceUpdateRequest, z.ZodTypeDef, unknown>;
    /** @deprecated use `ResourceUpdateRequest$outboundSchema` instead. */
    const outboundSchema: z.ZodType<ResourceUpdateRequest$Outbound, z.ZodTypeDef, ResourceUpdateRequest>;
    /** @deprecated use `ResourceUpdateRequest$Outbound` instead. */
    type Outbound = ResourceUpdateRequest$Outbound;
}
export declare function resourceUpdateRequestToJSON(resourceUpdateRequest: ResourceUpdateRequest): string;
export declare function resourceUpdateRequestFromJSON(jsonString: string): SafeParseResult<ResourceUpdateRequest, SDKValidationError>;
//# sourceMappingURL=resourceupdaterequest.d.ts.map