import { ElementRef, EventEmitter, NgZone, Renderer2 } from '@angular/core';
import { Subscription } from 'rxjs';
import * as i0 from "@angular/core";
export declare class ResizeHandleDirective {
    private renderer2;
    private zone;
    private doc;
    containerElement: Element;
    minWidth: string;
    maxWidth: string;
    resizeStartEvent: EventEmitter<any>;
    resizingEvent: EventEmitter<any>;
    resizeEndEvent: EventEmitter<any>;
    collapseEvent: EventEmitter<any>;
    element: HTMLElement;
    moveCount: number;
    initialWidth: number;
    totalWidth: number;
    mouseDownScreenX: number;
    resizeHandle: HTMLElement;
    resizeOverlay: HTMLElement;
    resizeBarRefElement: HTMLElement;
    mouseUpSubscription: Subscription;
    resizeHandleEnter: any;
    resizeHandleLeave: any;
    resizeHandleClick: any;
    preventRemoveHandle: boolean;
    document: Document;
    constructor(element: ElementRef, renderer2: Renderer2, zone: NgZone, doc: any);
    onMouseEnter(event: MouseEvent): void;
    onMouseLeave(event: any): void;
    private onHandleMouseEnter;
    private onHandleMouseLeave;
    onMousedown(event: MouseEvent): void;
    onMouseup(event: MouseEvent): void;
    bindMousemove: (e: any) => void;
    move(event: MouseEvent): void;
    private getFinalWidth;
    private handleWidth;
    private _destroySubscription;
    static ɵfac: i0.ɵɵFactoryDeclaration<ResizeHandleDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<ResizeHandleDirective, "[dResizeHandle]", never, { "containerElement": { "alias": "containerElement"; "required": false; }; "minWidth": { "alias": "minWidth"; "required": false; }; "maxWidth": { "alias": "maxWidth"; "required": false; }; }, { "resizeStartEvent": "resizeStartEvent"; "resizingEvent": "resizingEvent"; "resizeEndEvent": "resizeEndEvent"; "collapseEvent": "collapseEvent"; }, never, never, false, never>;
}
