import BaseElement from './BaseElement'; import type { PropChangeEvent, PostSize, PostSizes, LocalStateChangeEvent } from '../types'; interface LocalState { isLoaded: boolean; isVisible: boolean; didError: boolean; shouldPreload: boolean; loaderIsShowing: boolean; imageSrc?: string; sizeObj?: PostSize; } /** * @description * Required props: 'sizes', 'mediaUrl' */ export default class Image extends BaseElement { label: string; sizes?: PostSizes; useOriginalAspectRatio: boolean; mediaUrl?: string; aspectRatio: number; showLoader: boolean; lazy: boolean; _imageEl?: HTMLImageElement; _ldrEl?: HTMLElement; _initialLocalState: LocalState; _throttledHandleResize: Function; constructor(); _handlePropChange({ changedProp, oldValue, newValue, }: PropChangeEvent): void; /** * Handle local state change */ _handleLocalStateChange({ changedProps, newState, }: LocalStateChangeEvent): void; _handleIntersection(entry: IntersectionObserverEntry): void; _handleResize(entry: ResizeObserverEntry): void; _handleImageLoad(): void; /** * Handle error */ _handleImageError(): void; /** * Get closest size to current max dimension */ _getClosestSize(targetWidth: number, targetHeight: number): PostSize; /** * Preload */ preload(): void; static register(name?: string): string; } declare global { interface HTMLElementTagNameMap { 'behold-image': Image; } } export {}; //# sourceMappingURL=Image.d.ts.map