import { AfterViewInit, EventEmitter, OnDestroy } from '@angular/core';
import * as i0 from "@angular/core";
export declare class ResizableTableColumnComponent implements AfterViewInit, OnDestroy {
    private readonly _table;
    private readonly _elementRef;
    private readonly _renderer;
    /** Show/Hide column resizable handle */
    private _handleVisible;
    /** Disabled the column resizing */
    disabled: boolean;
    get handleVisible(): boolean;
    set handleVisible(value: boolean);
    /** Define the width of a column */
    set width(width: number);
    get width(): number;
    /** Emit the current column width */
    widthChange: EventEmitter<number>;
    /** Get the minimum width allowed by the column */
    get minWidth(): number;
    /** Determine if this column is a variable width column */
    isFixedWidth: boolean;
    /** Store the width specifically set by the input */
    private _width;
    /** Store the position of the mouse within the drag handle */
    private _offset;
    /** Min width of the column*/
    private _minWidth;
    /** Emit when all observables should be unsubscribed */
    private readonly _onDestroy;
    ngAfterViewInit(): void;
    /** Cleanup when component is destroyed */
    ngOnDestroy(): void;
    /** Get the natural pixel width of the column */
    getNaturalWidth(): number;
    /** When the dragging starts */
    onDragStart(event: MouseEvent): void;
    /** When the mouse is moved */
    onDragMove(event: MouseEvent, handle: HTMLDivElement): void;
    /** When the dragging ends */
    onDragEnd(): void;
    /** Shrink the column when the left arrow key is pressed */
    onMoveLeft(): void;
    /** Grow the column when the right arrow key is pressed */
    onMoveRight(): void;
    /** Get the column index this cell is part of */
    getCellIndex(): number;
    /** The percentage width of the column */
    private setColumnWidth;
    /** The flex width of the column */
    private setColumnFlex;
    static ɵfac: i0.ɵɵFactoryDeclaration<ResizableTableColumnComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ResizableTableColumnComponent, "[uxResizableTableColumn]", never, { "disabled": { "alias": "disabled"; "required": false; }; "handleVisible": { "alias": "handleVisible"; "required": false; }; "width": { "alias": "width"; "required": false; }; }, { "widthChange": "widthChange"; }, never, ["*", "ux-column-sorting"], false, never>;
}
