import { AnimationBuilder } from '@angular/animations'; import { AfterViewInit, ElementRef, EventEmitter, NgZone, OnChanges, OnDestroy, QueryList, SimpleChanges } from '@angular/core'; import { PerformanceMonitorComponent } from '../performance-monitor/performance-monitor.component'; import * as i0 from "@angular/core"; export declare class CarouselItem { private el; htmlElement: HTMLElement; constructor(el: ElementRef); static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } export declare class CarouselComponent implements AfterViewInit, OnDestroy, OnChanges { private ngZone; private animationBuilder; showDots: boolean; dotColor: string; activeDotColor: string; dotAnimationCircleColor: string; activeCarouselElement: number; initAnimation: boolean; radius: number; yPosition: number; cameraFov: number; cameraDistance: number; autoPlay: boolean; autoPlayInterval: number; rotationDuration: number; showPerformanceMonitor: boolean; activeElementChanged: EventEmitter; threejsContainer: ElementRef; dots: ElementRef; performanceMonitor: PerformanceMonitorComponent; carouselItemTemplates: QueryList; private animationFrameId; private css3dRenderer; private scene; private camera; private objectControls; private carouselElements; private carouselGroup; private carouselObjSubsciptions; private rotationSubscription; private animation; userMove: boolean; private dotAnimationPlayer; constructor(ngZone: NgZone, animationBuilder: AnimationBuilder); ngAfterViewInit(): void; ngOnChanges(changes: SimpleChanges): void; ngOnDestroy(): void; /** * Resizes the canvas and updates the texture resulution information of the images */ resize(): void; /** * Animation */ private animate; /** * starts the animation of the indication dots * @param index index number for which dot the animation should be started * @returns */ private startDotAnimation; /** * Resets the dot animation */ private resetDotAnimation; /** * Initialize the carousel objects */ private initCarouselObjects; /** * Rotate to next carousel item * @returns Promise with the new active element number */ next(): Promise; /** * Rotate to previous carousel item# * @returns Promise with the new active element number */ previous(): Promise; /** * Rotates to a sepcific carousel item * @param targetIndex index of the carousel item */ rotateTo(targetIndex: number, skipAnimation?: boolean): Promise; /** * things to do when rotation is completed * @param targetIndex */ private rotationCompleted; /** * Updates and reinits the carousel items */ updateCarouselItems(): void; /** * Updates the radius of the carousel items */ private updateRadius; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }