import { ElementRef, AfterViewInit, OnDestroy, NgZone } from '@angular/core';
import { PerformanceMonitorComponent } from '../performance-monitor/performance-monitor.component';
import * as i0 from "@angular/core";
export declare class ImageAsParticlesComponent implements AfterViewInit, OnDestroy {
    private ngZone;
    private renderer;
    private scene;
    private camera;
    private clock;
    private texture;
    private mesh;
    private hitArea;
    private width;
    private height;
    private touch;
    private mouse;
    private raycaster;
    private pImageUrl;
    private pImageChanging;
    private gestureInfo$;
    private gestureInfoSubscription;
    showTouchGestureInfo: boolean;
    justifyContent: string;
    alignItems: string;
    set imageUrl(imageUrl: string);
    get imageUrl(): string;
    backgroundColor: string;
    imageWidth: string;
    imageHeight: string;
    set horizontalAlignment(horizontalAlignment: string);
    get horizontalAlignment(): string;
    set verticalAlignment(verticalAlignment: string);
    get verticalAlignment(): string;
    animationEnabled: boolean;
    showPerformanceMonitor: boolean;
    canvasRef: ElementRef;
    performanceMonitor: PerformanceMonitorComponent;
    constructor(ngZone: NgZone);
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    /**
     * Creates the particles depending on the image and initializes the touch canvas
     * @param url url of the image
     */
    private initParticles;
    /**
     * Initializes the points
     * @param discard discard pixels darker than threshold #22
     */
    private initPoints;
    /**
     * Initializes the touch area
     */
    private initTouch;
    /**
     * Initializes the hit area
     */
    private initHitArea;
    /**
     * animation for showing the particles
     * @param time time of animation in ms
     */
    private show;
    /**
     * animation for tween out the particles and destroy everything
     * @param time time of animation in ms
     */
    private triggerImageChange;
    /**
     * Method for triggering the animation
     */
    private animate;
    /**
     * Handle mouse move event
     * @param event mouse event
     */
    onMouseMove(event: MouseEvent): void;
    /**
     * Handle touch move envent
     * @param event mouse event
     */
    onTouchMove(event: TouchEvent): void;
    resize(): void;
    private distanceAsNumber;
    static ɵfac: i0.ɵɵFactoryDeclaration<ImageAsParticlesComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ImageAsParticlesComponent, "lib-image-as-particles", never, { "imageUrl": "imageUrl"; "backgroundColor": "backgroundColor"; "imageWidth": "imageWidth"; "imageHeight": "imageHeight"; "horizontalAlignment": "horizontalAlignment"; "verticalAlignment": "verticalAlignment"; "animationEnabled": "animationEnabled"; "showPerformanceMonitor": "showPerformanceMonitor"; }, {}, never, never>;
}
