import { z } from 'zod';
export interface ImageSource {
    src: string;
    width: number;
    height: number;
    type: string;
}
export interface PictureSource {
    media?: string;
    type: string;
    srcset: string;
    sizes?: string;
}
export interface GradialImage {
    $type: 'gradial.image';
    assetId: string;
    versionId: string;
    alt: string;
    fallback: ImageSource;
    sources: PictureSource[];
}
export interface ImageSlotContract {
    outputs: SlotOutput[];
    formats: string[];
    sizes: string;
}
export interface SlotOutput {
    aspectRatio: string;
    widths: number[];
    media?: string;
}
export declare const GradialImageSchema: z.ZodObject<{
    $type: z.ZodLiteral<"gradial.image">;
    assetId: z.ZodString;
    versionId: z.ZodString;
    alt: z.ZodString;
    fallback: z.ZodObject<{
        src: z.ZodString;
        width: z.ZodNumber;
        height: z.ZodNumber;
        type: z.ZodString;
    }, z.core.$strip>;
    sources: z.ZodDefault<z.ZodNullable<z.ZodArray<z.ZodObject<{
        media: z.ZodOptional<z.ZodString>;
        type: z.ZodString;
        srcset: z.ZodString;
        sizes: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>>>;
}, z.core.$strip>;
export type ImageHTMLAttributes = Record<string, string | number | boolean | undefined | null>;
export declare function renderImageHTML(image: GradialImage, attrs?: ImageHTMLAttributes): string;
