import { ElementRef, OnDestroy, QueryList, Renderer2 } from '@angular/core';
import { Subject } from 'rxjs';
import { ResizeService } from '../../../directives/resize';
import { ResizableTableColumnComponent } from './resizable-table-column.component';
import * as i0 from "@angular/core";
export declare abstract class BaseResizableTableDirective implements OnDestroy {
    protected readonly _table: import("./resizable-table-base.service").BaseResizableTableService;
    protected readonly _elementRef: ElementRef<HTMLTableElement>;
    protected readonly _renderer: Renderer2;
    readonly resize: ResizeService;
    columns: QueryList<ResizableTableColumnComponent>;
    /** Unsubscribe from the observables */
    protected _onDestroy: Subject<void>;
    /** Store the initialised state of the table */
    protected _initialised: boolean;
    constructor();
    /** Cleanup after the component is destroyed */
    ngOnDestroy(): void;
    /** Set all resizable columns to the same width */
    setUniformWidths(): void;
    /** Get the smallest tbody width taking into account scrollbars (uxFixedHeaderTable) */
    protected getScrollWidth(): number;
    abstract onTableReady(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<BaseResizableTableDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<BaseResizableTableDirective, never, never, {}, {}, never, never, false, never>;
}
