import { ElementRef, OnDestroy, OnInit, Renderer2 } from "@angular/core"; import { CanvasPaintFunc, CanvasResizeMode, InteractiveCanvas, InteractiveCanvasArea, InteractiveCanvasItem, InteractiveCanvasParams, InteractiveCanvasPointer, InteractiveCanvasRenderer, InteractivePanEvent, IPoint, RangeCoords } from "../../common-types"; import { Point } from "../../utils/geometry"; import { UniversalService } from "../../services/universal.service"; import { InteractiveItemComponent } from "./interactive-item.component"; import * as i0 from "@angular/core"; export declare class InteractiveCanvasComponent implements InteractiveCanvas, OnInit, OnDestroy { /** * Injectable options * @private */ protected readonly options: { infinite: boolean; resizeMode: CanvasResizeMode; panOffset: number; }; protected readonly renderer: Renderer2; protected readonly universal: UniversalService; /** * Is the canvas infinitely scrollable? */ readonly infinite: import("@angular/core").InputSignal; readonly resizeMode: import("@angular/core").InputSignal; readonly horizontal: import("@angular/core").InputSignal; /** * Real life-size width of the canvas */ readonly width: import("@angular/core").InputSignal; /** * Real life-size height of the canvas */ readonly height: import("@angular/core").InputSignal; /** * Canvas params */ readonly params: import("@angular/core").InputSignalWithTransform; /** * Model signal for selected index */ readonly selectedIndex: import("@angular/core").ModelSignal; /** * Relative offset of the panning. It is based on the rendered canvas height */ readonly panOffset: import("@angular/core").InputSignal; readonly renderCtx: import("@angular/core").InputSignal>; readonly beforeItems: import("@angular/core").InputSignal; readonly afterItems: import("@angular/core").InputSignal; readonly onRotate: import("@angular/core").OutputEmitterRef; readonly onItemPan: import("@angular/core").OutputEmitterRef; readonly onItemPanned: import("@angular/core").OutputEmitterRef; readonly onPan: import("@angular/core").OutputEmitterRef; readonly onPanned: import("@angular/core").OutputEmitterRef; readonly itemList: import("@angular/core").Signal; get isInfinite(): boolean; get realWidth(): number; get realHeight(): number; get items(): ReadonlyArray; get canvas(): HTMLCanvasElement; get lockedItem(): InteractiveItemComponent; get selectedItem(): InteractiveItemComponent; set selectedItem(item: InteractiveItemComponent); get hoveredItem(): InteractiveItemComponent; set hoveredItem(item: InteractiveItemComponent); xRange: RangeCoords; yRange: RangeCoords; ratio: number; styles: CSSStyleDeclaration; ctx: CanvasRenderingContext2D; canvasWidth: number; canvasHeight: number; fullHeight: number; viewRatio: number; rotation: number; basePan: number; cycles: number[]; excludedAreas: InteractiveCanvasArea[]; protected tempCanvas: HTMLCanvasElement; protected shouldDraw: boolean; protected hoveredIndex: number; protected containerElem: ElementRef; protected canvasElem: ElementRef; protected touched: boolean; protected panStartRotation: number; protected panStartPos: IPoint; protected lockedIndex: number; protected oldLength: number; constructor(); ngOnInit(): void; ngOnDestroy(): void; tempPaint(cb: CanvasPaintFunc): Promise; resize(): void; onTouchStart($event: TouchEvent): void; onTouchEnd(): void; onMouseDown($event: MouseEvent): void; onMouseUp(): void; onMouseMove($event: MouseEvent): void; onMouseLeave(): void; onPanStart(): void; onPanMove($event: any): void; onPanEnd(): void; protected fixRotation(): void; protected selectItem(): void; protected toCanvasPoint(pointer: InteractiveCanvasPointer): Point; protected getIndexUnderPointer(pointer: InteractiveCanvasPointer): number; protected updateCursor(): void; protected getCursor(): string; protected redraw(): void; protected drawItems(): Promise; protected drawItem(ctx: CanvasRenderingContext2D, item: InteractiveCanvasItem): Promise; protected draw(): Promise; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }