import { AfterContentInit, ElementRef, EventEmitter, NgZone, OnDestroy, OnInit, Renderer2 } from '@angular/core';
import { Observable, Subject } from 'rxjs';
import { GridItemPlaceholderDirective } from '../../directives/placeholder.directive';
import { GridLayoutService } from '../../grid-layout.service';
import * as i0 from "@angular/core";
export declare class GridItemComponent implements OnInit, OnDestroy, AfterContentInit {
    elementRef: ElementRef;
    private readonly document;
    private readonly renderer;
    private readonly ngZone;
    private readonly layoutService;
    id: string;
    private readonly dragHandles;
    private readonly resizeHandles;
    private readonly removeHandles;
    resizeElem: ElementRef;
    removeElem: ElementRef;
    placeholder: GridItemPlaceholderDirective;
    minW?: number;
    minH?: number;
    maxW?: number;
    maxH?: number;
    /** CSS transition style */
    transition: string;
    /** Minimum amount of pixels that the user should move before it starts the drag sequence. */
    dragStartThreshold: number;
    /** Whether the item is draggable or not. Defaults to true. */
    draggable: boolean;
    draggable$: Observable<boolean>;
    /** Whether the item is resizable or not. Defaults to true. */
    resizable: boolean;
    resizable$: Observable<boolean>;
    removable: boolean;
    removable$: Observable<boolean>;
    destroy$$: Subject<void>;
    private readonly dragStartSubject;
    private readonly resizeStartSubject;
    dragStart$: Observable<MouseEvent>;
    resizeStart$: Observable<MouseEvent>;
    constructor(elementRef: ElementRef, document: Document, renderer: Renderer2, ngZone: NgZone, layoutService: GridLayoutService);
    remove: EventEmitter<any>;
    ngOnInit(): void;
    ngAfterContentInit(): void;
    ngOnDestroy(): void;
    setStyles({ top, left, width, height, }: {
        top: string;
        left: string;
        width?: string;
        height?: string;
    }, animation: boolean): void;
    private setupDragStartListener;
    private setupRemoveListener;
    private setupResizeStartListener;
    static ɵfac: i0.ɵɵFactoryDeclaration<GridItemComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<GridItemComponent, "acl-grid-item", never, { "id": { "alias": "id"; "required": false; }; "minW": { "alias": "minW"; "required": false; }; "minH": { "alias": "minH"; "required": false; }; "maxW": { "alias": "maxW"; "required": false; }; "maxH": { "alias": "maxH"; "required": false; }; "transition": { "alias": "transition"; "required": false; }; "dragStartThreshold": { "alias": "dragStartThreshold"; "required": false; }; "draggable": { "alias": "draggable"; "required": false; }; "resizable": { "alias": "resizable"; "required": false; }; "removable": { "alias": "removable"; "required": false; }; }, { "remove": "remove"; }, ["placeholder", "dragHandles", "resizeHandles", "removeHandles"], ["*"], false, never>;
}
