import { BooleanInput } from '@angular/cdk/coercion'; import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, OnDestroy, TemplateRef } from '@angular/core'; import { ControlValueAccessor, NgControl } from '@angular/forms'; import { Destroy } from '@deja-js/component/core'; import { Rect } from '@deja-js/component/core/graphics'; import { MouseDroppableContext } from '@deja-js/component/v2/mouse-dragdrop'; import { Subject } from 'rxjs'; import { DejaTile } from './tile.class'; import { IDejaTilesAddedEvent, IDejaTilesAddEvent, IDejaTilesDeletedEvent, IDejaTilesEvent, IDejaTilesRemoveEvent } from './tiles.event'; import { DejaTilesLayoutProvider, ITileDragDropContext } from './tiles-layout.provider'; import { IDejaTilesRefreshParams } from './tiles-refresh-params.interface'; import * as i0 from "@angular/core"; export declare class DejaTilesComponent extends Destroy implements AfterViewInit, ControlValueAccessor, OnDestroy { private changeDetectorRef; private layoutProvider; control: NgControl; /** * Raised when the selected items has changed */ readonly selectionChanged: EventEmitter; /** * Raised when the layout has changed with a drag and drop */ readonly layoutChanged: EventEmitter; /** * Raised when the layout is completed and all tiles are binded */ readonly layoutCompleted: EventEmitter; /** * Raised before some tiles will be added to the data model with a paste */ readonly contentAdding: EventEmitter; /** * Raised before some tiles will be removed from the data model with a delete */ readonly contentRemoving: EventEmitter; /** * Raised when tiles are added */ readonly tilesAdded: EventEmitter; /** * Raised when tiles are deleted */ readonly tilesDeleted: EventEmitter; /** * Raised when some tiles are copied in the clipboard service. Can result from a copy or paste operation on the tiles. */ readonly contentCopied: EventEmitter; /** * Tab index of the focusable element */ tabIndex: number; tileTemplate: TemplateRef; private tilesContainer; private _models; private delete$sub; private copy$sub; private cut$sub; private paste$sub; private keyup$; private hasFocus; get tiles(): DejaTile[]; constructor(el: ElementRef, changeDetectorRef: ChangeDetectorRef, layoutProvider: DejaTilesLayoutProvider, control: NgControl); get selectionRect$(): Subject; set tileminwidth(value: string); set tilemaxwidth(value: string); set tileminheight(value: string); set tilemaxheight(value: string); set maxwidth(value: string); set designMode(value: BooleanInput); get designMode(): BooleanInput; set models(models: DejaTile[]); set canDelete(value: BooleanInput); set canCopy(value: BooleanInput); set canCut(value: BooleanInput); set canPaste(value: BooleanInput); set selectedTiles(selectedTiles: Array); writeValue(models: DejaTile[]): void; registerOnChange(fn: (_a: unknown) => void): void; registerOnTouched(fn: () => void): void; ngAfterViewInit(): void; ngOnDestroy(): void; copySelection(): void; cutSelection(): void; deleteSelection(): DejaTile[]; paste(): DejaTile[]; ensureVisible(id: string): void; refresh(params?: IDejaTilesRefreshParams): void; addTiles(tiles: DejaTile[]): void; removeTiles(tileIds: string[]): void; hitTest(pageX: number, pageY: number): DejaTile; getFreePlace(pageX?: number, pageY?: number, width?: number, height?: number): Rect; moveTile(id: string, bounds: Rect): void; getDropContext(): MouseDroppableContext; trackBy(_index: number, tile: DejaTile): unknown; onTileClosed(tile: DejaTile): void; onFocus(): void; onBlur(): void; onTouchedCallback: () => void; onChangeCallback: (_a?: unknown) => void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }