import type { ImageFileDescriptor, NormalizedFileDescriptorSource } from '@resee-movies/utilities/images/normalize-image-file-descriptor'; import type { AspectRatio } from '@resee-movies/utilities/numbers/get-aspect-ratio'; import type { MediaAssetTransformConfig } from '@resee-movies/utilities/resee/get-media-asset-url'; import type { TmdbImageSize } from '@resee-movies/utilities/tmdb/get-tmdb-image-url'; export interface ImageBaseProps { src: ImageFileDescriptor | null | undefined; alt?: string | null | ((error: unknown) => string); type?: NormalizedFileDescriptorSource; width?: TmdbImageSize | string | number; height?: string | number; aspect?: AspectRatio | 'auto'; fit?: MediaAssetTransformConfig['fit']; loadStyle?: 'lazy' | 'eager'; } export declare const AspectRatioClassNames: { readonly '1/1': "aspect-square"; readonly square: "aspect-square"; readonly '2/3': "aspect-poster"; readonly poster: "aspect-poster"; readonly '4/5': "aspect-tall"; readonly '16/9': "aspect-video"; readonly video: "aspect-video"; }; export declare const ObjectFitClassNames: { readonly cover: "object-cover"; readonly outside: "object-cover"; readonly contain: "object-contain"; readonly inside: "object-contain"; }; declare const _default: typeof __VLS_export; export default _default; declare const __VLS_export: import("vue").DefineComponent any; loading: () => any; load: (src: string | undefined, key: string | undefined) => any; }, string, import("vue").PublicProps, Readonly & Readonly<{ onError?: ((err: unknown) => any) | undefined; onLoading?: (() => any) | undefined; onLoad?: ((src: string | undefined, key: string | undefined) => any) | undefined; }>, { type: NormalizedFileDescriptorSource; width: TmdbImageSize | string | number; height: string | number; fit: MediaAssetTransformConfig["fit"]; alt: string | null | ((error: unknown) => string); aspect: AspectRatio | "auto"; }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;