import { ElementRef } from '@angular/core';
import { OnInit } from '@angular/core';
interface Size2D {
    width: number;
    height: number;
}
declare type Point2D = {
    x: number;
    y: number;
} | null;
export declare class MagnizoomComponent implements OnInit {
    private imageSrc;
    set ImageSrc(value: any);
    zoomMode: 'LENS' | 'COVER';
    minZoomFactor: number;
    maxZoomFactor: number;
    imageStyle: {
        [x: string]: any;
    };
    imageClass: any;
    mainCanvasRef: ElementRef;
    canvas: HTMLCanvasElement;
    context: CanvasRenderingContext2D;
    image: HTMLImageElement;
    mousePosition: Point2D;
    lensSize: Size2D;
    zoomFactor: number;
    get canvasWidth(): number;
    get canvasHeight(): number;
    constructor();
    ngOnInit(): void;
    initContext(): void;
    loadImage(src: string): void;
    render(): void;
    renderLensMode(): void;
    renderCoverMode(): void;
    getZoomRect(): {
        x: number;
        y: number;
        w: number;
        h: number;
    };
    getClippingRect(): {
        x: number;
        y: number;
        w: number;
        h: number;
    };
    getCoverRect(): {
        x: number;
        y: number;
        w: number;
        h: number;
    };
    clampRect(x: number, y: number, w: number, h: number): {
        x: number;
        y: number;
        w: number;
        h: number;
    };
    calculateMousePosition(clientX: number, clientY: number): void;
    onMouseLeave(event: MouseEvent): void;
    onMouseEnterOrMove(event: MouseEvent): void;
    onMouseScroll(event: WheelEvent): void;
}
export {};
