import * as z from "zod";
import { ClosedEnum } from "../types/enums.js";
import { AccessControlItem } from "./accesscontrolitem.js";
import { DeliveryTypeAll } from "./deliverytypeall.js";
/**
 * The type of resource.
 */
export declare const SearchResponseResourceType: {
    readonly Image: "image";
    readonly Video: "video";
    readonly Raw: "raw";
};
/**
 * The type of resource.
 */
export type SearchResponseResourceType = ClosedEnum<typeof SearchResponseResourceType>;
export declare const SearchResponseResourceType$zodSchema: z.ZodEnum<{
    image: "image";
    video: "video";
    raw: "raw";
}>;
/**
 * The current status of the asset.
 */
export declare const SearchResponseStatus: {
    readonly Active: "active";
    readonly Inactive: "inactive";
    readonly Deleted: "deleted";
    readonly Pending: "pending";
};
/**
 * The current status of the asset.
 */
export type SearchResponseStatus = ClosedEnum<typeof SearchResponseStatus>;
export declare const SearchResponseStatus$zodSchema: z.ZodEnum<{
    pending: "pending";
    deleted: "deleted";
    active: "active";
    inactive: "inactive";
}>;
/**
 * The access mode of the asset.
 */
export declare const SearchResponseAccessMode: {
    readonly Public: "public";
    readonly Authenticated: "authenticated";
};
/**
 * The access mode of the asset.
 */
export type SearchResponseAccessMode = ClosedEnum<typeof SearchResponseAccessMode>;
export declare const SearchResponseAccessMode$zodSchema: z.ZodEnum<{
    authenticated: "authenticated";
    public: "public";
}>;
/**
 * Information about who created the asset.
 */
export type CreatedBy = {
    access_key?: string | undefined;
};
export declare const CreatedBy$zodSchema: z.ZodType<CreatedBy>;
/**
 * Information about who uploaded the asset.
 */
export type UploadedBy = {
    access_key?: string | undefined;
};
export declare const UploadedBy$zodSchema: z.ZodType<UploadedBy>;
/**
 * Technical metadata extracted from the image.
 */
export type SearchResponseImageMetadata = {};
export declare const SearchResponseImageMetadata$zodSchema: z.ZodType<SearchResponseImageMetadata>;
/**
 * Results of image analysis.
 */
export type ImageAnalysis = {};
export declare const ImageAnalysis$zodSchema: z.ZodType<ImageAnalysis>;
/**
 * Structured metadata associated with the asset.
 */
export type Metadata = {};
export declare const Metadata$zodSchema: z.ZodType<Metadata>;
/**
 * Results of quality analysis.
 */
export type QualityAnalysis = {};
export declare const QualityAnalysis$zodSchema: z.ZodType<QualityAnalysis>;
/**
 * Results of accessibility analysis.
 */
export type AccessibilityAnalysis = {};
export declare const AccessibilityAnalysis$zodSchema: z.ZodType<AccessibilityAnalysis>;
/**
 * Resource fields that can be returned. All fields are optional and can be filtered using the fields parameter.
 */
export type Resource = {
    asset_id?: string | undefined;
    public_id?: string | undefined;
    asset_folder?: string | undefined;
    filename?: string | undefined;
    display_name?: string | undefined;
    format?: string | undefined;
    version?: number | undefined;
    resource_type?: SearchResponseResourceType | undefined;
    type?: DeliveryTypeAll | undefined;
    created_at?: string | undefined;
    uploaded_at?: string | undefined;
    bytes?: number | undefined;
    backup_bytes?: number | undefined;
    width?: number | undefined;
    height?: number | undefined;
    aspect_ratio?: number | undefined;
    pixels?: number | undefined;
    url?: string | undefined;
    secure_url?: string | undefined;
    status?: SearchResponseStatus | undefined;
    access_mode?: SearchResponseAccessMode | undefined;
    access_control?: Array<AccessControlItem> | null | undefined;
    etag?: string | undefined;
    created_by?: CreatedBy | null | undefined;
    uploaded_by?: UploadedBy | null | undefined;
    context?: {
        [k: string]: string;
    } | null | undefined;
    tags?: Array<string> | null | undefined;
    image_metadata?: SearchResponseImageMetadata | null | undefined;
    image_analysis?: ImageAnalysis | null | undefined;
    metadata?: Metadata | null | undefined;
    quality_analysis?: QualityAnalysis | null | undefined;
    accessibility_analysis?: AccessibilityAnalysis | null | undefined;
};
export declare const Resource$zodSchema: z.ZodType<Resource>;
export type Value = {
    value?: string | undefined;
    count?: number | undefined;
};
export declare const Value$zodSchema: z.ZodType<Value>;
export type SearchResponseRange = {
    from?: number | undefined;
    to?: number | undefined;
    count?: number | undefined;
};
export declare const SearchResponseRange$zodSchema: z.ZodType<SearchResponseRange>;
/**
 * Aggregation results when the aggregate parameter is used in the request. Only included when aggregations are requested.
 */
export type Aggregations = {
    values?: Array<Value> | undefined;
    ranges?: Array<SearchResponseRange> | undefined;
};
export declare const Aggregations$zodSchema: z.ZodType<Aggregations>;
/**
 * The response object returned by search operations.
 */
export type SearchResponse = {
    total_count?: number | undefined;
    time?: number | undefined;
    resources?: Array<Resource> | undefined;
    next_cursor?: string | null | undefined;
    aggregations?: Aggregations | undefined;
};
export declare const SearchResponse$zodSchema: z.ZodType<SearchResponse>;
//# sourceMappingURL=searchresponse.d.ts.map