import { z } from "zod";
import { Reference } from "../clients";
export declare const imageSize: z.ZodType<`${number}w`, z.ZodTypeDef, `${number}w`>;
declare const baseImageTypes: readonly ["jpeg", "png", "webp", "avif", "jpeg-xl"];
export declare const imageType: z.ZodEffects<z.ZodDefault<z.ZodEnum<["jpeg", "png", "webp", "avif", "jpeg-xl", ...string[]]>>, "jpeg" | "png" | "webp" | "avif" | "jpeg-xl", string | undefined>;
export declare const ImageRawLegacySourcesSchema: z.ZodEffects<z.ZodEffects<z.ZodRecord<z.ZodType<`${number}w`, z.ZodTypeDef, `${number}w`>, z.ZodString>, Partial<Record<`${number}w`, string>>, Partial<Record<`${number}w`, string>>>, ({
    type: "jpeg" | "png" | "webp" | "avif" | "jpeg-xl" | null;
    width: number;
    path?: string | undefined;
    reference?: Reference | undefined;
} & {
    type: "jpeg" | "png" | "webp" | "avif" | "jpeg-xl";
})[], Partial<Record<`${number}w`, string>>>;
export declare const ImageRawSourceBaseSchema: z.ZodObject<{
    /** Image scaled width */
    width: z.ZodNumber;
    /** Image type */
    type: z.ZodNullable<z.ZodEffects<z.ZodDefault<z.ZodEnum<["jpeg", "png", "webp", "avif", "jpeg-xl", ...string[]]>>, "jpeg" | "png" | "webp" | "avif" | "jpeg-xl", string | undefined>>;
    /** Image path */
    path: z.ZodOptional<z.ZodString>;
    /** Image reference */
    reference: z.ZodOptional<z.ZodEffects<z.ZodString, Reference, string>>;
}, "strip", z.ZodTypeAny, {
    type: "jpeg" | "png" | "webp" | "avif" | "jpeg-xl" | null;
    width: number;
    path?: string | undefined;
    reference?: Reference | undefined;
}, {
    width: number;
    type?: string | null | undefined;
    path?: string | undefined;
    reference?: string | undefined;
}>;
export declare const ImageRawSourceSchema: z.ZodEffects<z.ZodObject<{
    /** Image scaled width */
    width: z.ZodNumber;
    /** Image type */
    type: z.ZodNullable<z.ZodEffects<z.ZodDefault<z.ZodEnum<["jpeg", "png", "webp", "avif", "jpeg-xl", ...string[]]>>, "jpeg" | "png" | "webp" | "avif" | "jpeg-xl", string | undefined>>;
    /** Image path */
    path: z.ZodOptional<z.ZodString>;
    /** Image reference */
    reference: z.ZodOptional<z.ZodEffects<z.ZodString, Reference, string>>;
}, "strip", z.ZodTypeAny, {
    type: "jpeg" | "png" | "webp" | "avif" | "jpeg-xl" | null;
    width: number;
    path?: string | undefined;
    reference?: Reference | undefined;
}, {
    width: number;
    type?: string | null | undefined;
    path?: string | undefined;
    reference?: string | undefined;
}>, {
    type: "jpeg" | "png" | "webp" | "avif" | "jpeg-xl" | null;
    width: number;
    path?: string | undefined;
    reference?: Reference | undefined;
} & {
    type: "jpeg" | "png" | "webp" | "avif" | "jpeg-xl";
}, {
    width: number;
    type?: string | null | undefined;
    path?: string | undefined;
    reference?: string | undefined;
}>;
export declare const ImageSourceSchema: z.ZodEffects<z.ZodObject<{
    type: z.ZodNullable<z.ZodEffects<z.ZodDefault<z.ZodEnum<["jpeg", "png", "webp", "avif", "jpeg-xl", ...string[]]>>, "jpeg" | "png" | "webp" | "avif" | "jpeg-xl", string | undefined>>;
    path: z.ZodOptional<z.ZodString>;
    width: z.ZodNumber;
    reference: z.ZodOptional<z.ZodEffects<z.ZodString, Reference, string>>;
    url: z.ZodString;
}, "strip", z.ZodTypeAny, {
    type: "jpeg" | "png" | "webp" | "avif" | "jpeg-xl" | null;
    width: number;
    url: string;
    path?: string | undefined;
    reference?: Reference | undefined;
}, {
    width: number;
    url: string;
    type?: string | null | undefined;
    path?: string | undefined;
    reference?: string | undefined;
}>, {
    type: "jpeg" | "png" | "webp" | "avif" | "jpeg-xl" | null;
    width: number;
    url: string;
    path?: string | undefined;
    reference?: Reference | undefined;
} & {
    type: "jpeg" | "png" | "webp" | "avif" | "jpeg-xl";
}, {
    width: number;
    url: string;
    type?: string | null | undefined;
    path?: string | undefined;
    reference?: string | undefined;
}>;
export declare const ImageRawSourcesSchema: z.ZodArray<z.ZodEffects<z.ZodEffects<z.ZodObject<{
    /** Image scaled width */
    width: z.ZodNumber;
    /** Image type */
    type: z.ZodNullable<z.ZodEffects<z.ZodDefault<z.ZodEnum<["jpeg", "png", "webp", "avif", "jpeg-xl", ...string[]]>>, "jpeg" | "png" | "webp" | "avif" | "jpeg-xl", string | undefined>>;
    /** Image path */
    path: z.ZodOptional<z.ZodString>;
    /** Image reference */
    reference: z.ZodOptional<z.ZodEffects<z.ZodString, Reference, string>>;
}, "strip", z.ZodTypeAny, {
    type: "jpeg" | "png" | "webp" | "avif" | "jpeg-xl" | null;
    width: number;
    path?: string | undefined;
    reference?: Reference | undefined;
}, {
    width: number;
    type?: string | null | undefined;
    path?: string | undefined;
    reference?: string | undefined;
}>, {
    type: "jpeg" | "png" | "webp" | "avif" | "jpeg-xl" | null;
    width: number;
    path?: string | undefined;
    reference?: Reference | undefined;
} & {
    type: "jpeg" | "png" | "webp" | "avif" | "jpeg-xl";
}, {
    width: number;
    type?: string | null | undefined;
    path?: string | undefined;
    reference?: string | undefined;
}>, {
    type: "jpeg" | "png" | "webp" | "avif" | "jpeg-xl" | null;
    width: number;
    path?: string | undefined;
    reference?: Reference | undefined;
} & {
    type: "jpeg" | "png" | "webp" | "avif" | "jpeg-xl";
}, {
    width: number;
    type?: string | null | undefined;
    path?: string | undefined;
    reference?: string | undefined;
}>, "many">;
export declare const ImageSourcesSchema: z.ZodArray<z.ZodEffects<z.ZodEffects<z.ZodObject<{
    type: z.ZodNullable<z.ZodEffects<z.ZodDefault<z.ZodEnum<["jpeg", "png", "webp", "avif", "jpeg-xl", ...string[]]>>, "jpeg" | "png" | "webp" | "avif" | "jpeg-xl", string | undefined>>;
    path: z.ZodOptional<z.ZodString>;
    width: z.ZodNumber;
    reference: z.ZodOptional<z.ZodEffects<z.ZodString, Reference, string>>;
    url: z.ZodString;
}, "strip", z.ZodTypeAny, {
    type: "jpeg" | "png" | "webp" | "avif" | "jpeg-xl" | null;
    width: number;
    url: string;
    path?: string | undefined;
    reference?: Reference | undefined;
}, {
    width: number;
    url: string;
    type?: string | null | undefined;
    path?: string | undefined;
    reference?: string | undefined;
}>, {
    type: "jpeg" | "png" | "webp" | "avif" | "jpeg-xl" | null;
    width: number;
    url: string;
    path?: string | undefined;
    reference?: Reference | undefined;
} & {
    type: "jpeg" | "png" | "webp" | "avif" | "jpeg-xl";
}, {
    width: number;
    url: string;
    type?: string | null | undefined;
    path?: string | undefined;
    reference?: string | undefined;
}>, {
    type: "jpeg" | "png" | "webp" | "avif" | "jpeg-xl" | null;
    width: number;
    url: string;
    path?: string | undefined;
    reference?: Reference | undefined;
} & {
    type: "jpeg" | "png" | "webp" | "avif" | "jpeg-xl";
}, {
    width: number;
    url: string;
    type?: string | null | undefined;
    path?: string | undefined;
    reference?: string | undefined;
}>, "many">;
export declare const ImageRawSchema: z.ZodObject<{
    /** Image aspect ratio (width / height) */
    aspectRatio: z.ZodNumber;
    /** Blurhash value  */
    blurhash: z.ZodString;
    /** References of image in different resolutions */
    sources: z.ZodUnion<[z.ZodArray<z.ZodEffects<z.ZodEffects<z.ZodObject<{
        /** Image scaled width */
        width: z.ZodNumber;
        /** Image type */
        type: z.ZodNullable<z.ZodEffects<z.ZodDefault<z.ZodEnum<["jpeg", "png", "webp", "avif", "jpeg-xl", ...string[]]>>, "jpeg" | "png" | "webp" | "avif" | "jpeg-xl", string | undefined>>;
        /** Image path */
        path: z.ZodOptional<z.ZodString>;
        /** Image reference */
        reference: z.ZodOptional<z.ZodEffects<z.ZodString, Reference, string>>;
    }, "strip", z.ZodTypeAny, {
        type: "jpeg" | "png" | "webp" | "avif" | "jpeg-xl" | null;
        width: number;
        path?: string | undefined;
        reference?: Reference | undefined;
    }, {
        width: number;
        type?: string | null | undefined;
        path?: string | undefined;
        reference?: string | undefined;
    }>, {
        type: "jpeg" | "png" | "webp" | "avif" | "jpeg-xl" | null;
        width: number;
        path?: string | undefined;
        reference?: Reference | undefined;
    } & {
        type: "jpeg" | "png" | "webp" | "avif" | "jpeg-xl";
    }, {
        width: number;
        type?: string | null | undefined;
        path?: string | undefined;
        reference?: string | undefined;
    }>, {
        type: "jpeg" | "png" | "webp" | "avif" | "jpeg-xl" | null;
        width: number;
        path?: string | undefined;
        reference?: Reference | undefined;
    } & {
        type: "jpeg" | "png" | "webp" | "avif" | "jpeg-xl";
    }, {
        width: number;
        type?: string | null | undefined;
        path?: string | undefined;
        reference?: string | undefined;
    }>, "many">, z.ZodEffects<z.ZodEffects<z.ZodRecord<z.ZodType<`${number}w`, z.ZodTypeDef, `${number}w`>, z.ZodString>, Partial<Record<`${number}w`, string>>, Partial<Record<`${number}w`, string>>>, ({
        type: "jpeg" | "png" | "webp" | "avif" | "jpeg-xl" | null;
        width: number;
        path?: string | undefined;
        reference?: Reference | undefined;
    } & {
        type: "jpeg" | "png" | "webp" | "avif" | "jpeg-xl";
    })[], Partial<Record<`${number}w`, string>>>]>;
}, "strip", z.ZodTypeAny, {
    aspectRatio: number;
    blurhash: string;
    sources: ({
        type: "jpeg" | "png" | "webp" | "avif" | "jpeg-xl" | null;
        width: number;
        path?: string | undefined;
        reference?: Reference | undefined;
    } & {
        type: "jpeg" | "png" | "webp" | "avif" | "jpeg-xl";
    })[];
}, {
    aspectRatio: number;
    blurhash: string;
    sources: (Partial<Record<`${number}w`, string>> | {
        width: number;
        type?: string | null | undefined;
        path?: string | undefined;
        reference?: string | undefined;
    }[]) & (Partial<Record<`${number}w`, string>> | {
        width: number;
        type?: string | null | undefined;
        path?: string | undefined;
        reference?: string | undefined;
    }[] | undefined);
}>;
export declare const ImageSchema: z.ZodObject<{
    /** Image aspect ratio (width / height) */
    aspectRatio: z.ZodNumber;
    /** Blurhash value  */
    blurhash: z.ZodString;
    /** Sources of image in different resolutions */
    sources: z.ZodArray<z.ZodEffects<z.ZodEffects<z.ZodObject<{
        type: z.ZodNullable<z.ZodEffects<z.ZodDefault<z.ZodEnum<["jpeg", "png", "webp", "avif", "jpeg-xl", ...string[]]>>, "jpeg" | "png" | "webp" | "avif" | "jpeg-xl", string | undefined>>;
        path: z.ZodOptional<z.ZodString>;
        width: z.ZodNumber;
        reference: z.ZodOptional<z.ZodEffects<z.ZodString, Reference, string>>;
        url: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        type: "jpeg" | "png" | "webp" | "avif" | "jpeg-xl" | null;
        width: number;
        url: string;
        path?: string | undefined;
        reference?: Reference | undefined;
    }, {
        width: number;
        url: string;
        type?: string | null | undefined;
        path?: string | undefined;
        reference?: string | undefined;
    }>, {
        type: "jpeg" | "png" | "webp" | "avif" | "jpeg-xl" | null;
        width: number;
        url: string;
        path?: string | undefined;
        reference?: Reference | undefined;
    } & {
        type: "jpeg" | "png" | "webp" | "avif" | "jpeg-xl";
    }, {
        width: number;
        url: string;
        type?: string | null | undefined;
        path?: string | undefined;
        reference?: string | undefined;
    }>, {
        type: "jpeg" | "png" | "webp" | "avif" | "jpeg-xl" | null;
        width: number;
        url: string;
        path?: string | undefined;
        reference?: Reference | undefined;
    } & {
        type: "jpeg" | "png" | "webp" | "avif" | "jpeg-xl";
    }, {
        width: number;
        url: string;
        type?: string | null | undefined;
        path?: string | undefined;
        reference?: string | undefined;
    }>, "many">;
    /** Data URL of the blur-hash  */
    blurredBase64: z.ZodString;
    /** img src url */
    url: z.ZodString;
}, "strip", z.ZodTypeAny, {
    url: string;
    aspectRatio: number;
    blurhash: string;
    sources: ({
        type: "jpeg" | "png" | "webp" | "avif" | "jpeg-xl" | null;
        width: number;
        url: string;
        path?: string | undefined;
        reference?: Reference | undefined;
    } & {
        type: "jpeg" | "png" | "webp" | "avif" | "jpeg-xl";
    })[];
    blurredBase64: string;
}, {
    url: string;
    aspectRatio: number;
    blurhash: string;
    sources: {
        width: number;
        url: string;
        type?: string | null | undefined;
        path?: string | undefined;
        reference?: string | undefined;
    }[];
    blurredBase64: string;
}>;
export type ImageSize = z.infer<typeof imageSize>;
export type ImageType = (typeof baseImageTypes)[number];
export type ImageRawSource = z.infer<typeof ImageRawSourceSchema>;
export type ImageSource = z.infer<typeof ImageSourceSchema>;
export type ImageSources = z.infer<typeof ImageSourcesSchema>;
export type ImageRawLegacySources = z.infer<typeof ImageRawLegacySourcesSchema>;
export type ImageRawSources = z.infer<typeof ImageRawSourcesSchema>;
export type ImageRaw = z.infer<typeof ImageRawSchema>;
export type Image = z.infer<typeof ImageSchema>;
export {};
//# sourceMappingURL=image.d.ts.map