import { ElementRef, OnDestroy, OnInit } from '@angular/core';
import * as i0 from "@angular/core";
export type DbxColumnSizeColumnValue = 'head' | 'tail' | number;
export declare class DbxTableColumnSizeDirective implements OnDestroy {
    readonly elementRef: ElementRef<HTMLElement>;
    readonly resized: import("@angular/core").Signal<import("@dereekb/dbx-web").ResizedEvent>;
    private readonly _columnsMap;
    readonly columns$: import("rxjs").Observable<Map<DbxColumnSizeColumnValue, DbxColumnSizeColumnDirective>>;
    readonly columnsSignal: import("@angular/core").Signal<Map<DbxColumnSizeColumnValue, DbxColumnSizeColumnDirective> | undefined>;
    readonly visibleColumnsSignal: import("@angular/core").Signal<number>;
    addColumn(column: DbxColumnSizeColumnDirective): void;
    removeColumn(column: DbxColumnSizeColumnDirective): void;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<DbxTableColumnSizeDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<DbxTableColumnSizeDirective, "[dbx-table-column-size]", ["dbxTableColumnSize"], {}, {}, never, never, true, never>;
}
/**
 * References a specific element and the index of the column.
 */
export declare class DbxColumnSizeColumnDirective implements OnInit, OnDestroy {
    readonly dbxColumnSizeDirective: DbxTableColumnSizeDirective;
    readonly elementRef: ElementRef<HTMLElement>;
    readonly index: import("@angular/core").InputSignal<DbxColumnSizeColumnValue>;
    ngOnInit(): void;
    ngOnDestroy(): void;
    get width(): number;
    static ɵfac: i0.ɵɵFactoryDeclaration<DbxColumnSizeColumnDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<DbxColumnSizeColumnDirective, "[dbx-column-size-column]", never, { "index": { "alias": "dbx-column-size-column"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
}
