import { ElementRef, NgZone, OnDestroy, OnInit, Renderer2 } from '@angular/core';
import type { OColumn } from '../../../column/o-column.class';
import { OTableBase } from '../../../o-table-base.class';
import * as i0 from "@angular/core";
export declare const DEFAULT_INPUTS_O_TABLE_COLUMN_RESIZER: string[];
export declare const DEFAULT_OUTPUTS_O_TABLE_COLUMN_RESIZER: any[];
export declare class OTableColumnResizerComponent implements OnInit, OnDestroy {
    table: OTableBase;
    protected elRef: ElementRef;
    protected ngZone: NgZone;
    protected renderer: Renderer2;
    column: OColumn;
    disabled: boolean;
    protected startWidth: any;
    protected minWidth: any;
    protected maxWidth: any;
    protected startX: any;
    protected headerEl: any;
    protected nextOColumns: OColumn[];
    protected dragListeners: Array<() => void>;
    protected isResizing: boolean;
    protected blockedMinCols: any[];
    protected blockedMaxCols: any[];
    protected columnsStartWidth: {};
    constructor(table: OTableBase, elRef: ElementRef, ngZone: NgZone, renderer: Renderer2);
    ngOnInit(): void;
    ngOnDestroy(): void;
    onClick(event: MouseEvent): void;
    get isDisabled(): boolean;
    onMousedown(e: MouseEvent | TouchEvent): void;
    onMouseup(): void;
    protected stopDragging(): void;
    startResize(startEvent: MouseEvent | TouchEvent): void;
    protected resizeEvent(event: MouseEvent | TouchEvent): void;
    protected getHeaderEL(): Node;
    protected getFollowingOColumns(): OColumn[];
    protected updateBlockedCols(): void;
    protected calculateNewColumnsWidth(movementX: number, newColumnWidth: number): void;
    protected calculateUsingNextColumnsRestrictions(movementX: number, newColumnWidth: number): void;
    protected calculateUsingOwnColumnRestriction(movementX: number, newColumnWidth: number): void;
    protected initializeWidthData(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<OTableColumnResizerComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<OTableColumnResizerComponent, "o-table-column-resizer", never, { "column": { "alias": "column"; "required": false; }; }, {}, never, never, true, never>;
}
