import { AfterViewInit, ChangeDetectorRef, ElementRef, OnChanges, OnDestroy, OnInit, TemplateRef, ViewContainerRef } from '@angular/core'; import { WindowRef } from './utils/window.reference'; export interface ImageSource { media: string; url: string; } export interface ImageMetadata { keywords: string; name: string; url: string; } export declare type StretchStrategy = 'crop' | 'stretch' | 'original'; export declare class LazyImageComponent implements AfterViewInit, OnChanges, OnDestroy, OnInit { private readonly cdRef; private readonly el; private readonly viewContainer; private readonly windowRef; sources: ImageSource[]; metadata: ImageMetadata; loadingTpl: TemplateRef; errorTpl: TemplateRef; canvasRatio: number; maxCropPercentage: number; stretchStrategy: StretchStrategy; shouldFallbackToImgTag: boolean; loadingTplRef: TemplateRef; errorTplRef: TemplateRef; wasInViewport: boolean; canvasWidth: number; canvasHeight: number; matchedImageUrl: string; backgroundString: string; stretchState: StretchStrategy; loading: boolean; errorOccurred: boolean; disableLazyLoading: boolean; private imageElement; private scrollBufferSize; private verticalPosition; private imageWidth; private imageHeight; private errorEventListener; private loadEventListener; private image; constructor(cdRef: ChangeDetectorRef, el: ElementRef, viewContainer: ViewContainerRef, windowRef: WindowRef); ngOnInit(): void; ngOnDestroy(): void; ngAfterViewInit(): void; ngOnChanges(): void; updatePositioning(): void; updateVisibility(event?: Event): void; private renderTemplates; private calculateCanvasSize; private determineBackground; private withinCropThreshold; private updateBackground; private updateStretchState; private updateResponsiveImage; private validateInputs; }