import { AfterContentInit, ElementRef, NgZone, OnDestroy, OnInit, QueryList, Renderer2 } from '@angular/core'; import { Observable } from 'rxjs'; import { KtdGridItemRenderDataTokenType } from '../grid.definitions'; import { KtdGridDragHandle } from '../directives/drag-handle'; import { KtdGridResizeHandle } from '../directives/resize-handle'; import { KtdGridService } from '../grid.service'; import { BooleanInput } from '../coercion/boolean-property'; import { NumberInput } from '../coercion/number-property'; import { KtdGridItemPlaceholder } from '../directives/placeholder'; import * as i0 from "@angular/core"; export declare class KtdGridItemComponent implements OnInit, OnDestroy, AfterContentInit { elementRef: ElementRef; private gridService; private renderer; private ngZone; private getItemRenderData; /** Elements that can be used to drag the grid item. */ _dragHandles: QueryList; _resizeHandles: QueryList; resizeElem: ElementRef; /** Template ref for placeholder */ placeholder: KtdGridItemPlaceholder; /** Min and max size input properties. Any of these would 'override' the min/max values specified in the layout. */ minW?: number; minH?: number; maxW?: number; maxH?: number; /** CSS transition style. Note that for more performance is preferable only make transition on transform property. */ transition: string; dragStart$: Observable; resizeStart$: Observable; /** Id of the grid item. This property is strictly compulsory. */ get id(): string; set id(val: string); private _id; /** Minimum amount of pixels that the user should move before it starts the drag sequence. */ get dragStartThreshold(): number; set dragStartThreshold(val: number); private _dragStartThreshold; /** Whether the item is draggable or not. Defaults to true. Does not affect manual dragging using the startDragManually method. */ get draggable(): boolean; set draggable(val: boolean); private _draggable; private _draggable$; private _manualDragEvents$; /** Whether the item is resizable or not. Defaults to true. */ get resizable(): boolean; set resizable(val: boolean); private _resizable; private _resizable$; private dragStartSubject; private resizeStartSubject; private subscriptions; constructor(elementRef: ElementRef, gridService: KtdGridService, renderer: Renderer2, ngZone: NgZone, getItemRenderData: KtdGridItemRenderDataTokenType); ngOnInit(): void; ngAfterContentInit(): void; ngOnDestroy(): void; /** * To manually start dragging, route the desired pointer events to this method. * Dragging initiated by this method will work regardless of the value of the draggable Input. * It is the caller's responsibility to call this method with only the events that are desired to cause a drag. * For example, if you only want left clicks to cause a drag, it is your responsibility to filter out other mouse button events. * @param startEvent The pointer event that should initiate the drag. */ startDragManually(startEvent: MouseEvent | TouchEvent): void; setStyles({ top, left, width, height }: { top: string; left: string; width?: string; height?: string; }): void; private _dragStart$; private _resizeStart$; static ngAcceptInputType_minW: NumberInput; static ngAcceptInputType_minH: NumberInput; static ngAcceptInputType_maxW: NumberInput; static ngAcceptInputType_maxH: NumberInput; static ngAcceptInputType_draggable: BooleanInput; static ngAcceptInputType_resizable: BooleanInput; static ngAcceptInputType_dragStartThreshold: NumberInput; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }