import { NgZone } from '@angular/core';
import { QdTableConfig, QdTableFillingColumn } from '../model/table-config.interface';
import { QdTableStoreService } from '../store/table-store.service';
import { QdTreeConfig } from '../../tree/model/tree-config.interface';
import * as i0 from "@angular/core";
export declare class QdTableFillingWidthService<T extends string> {
    private readonly tableStoreService;
    private zone;
    private tableComponentElement;
    private tableConfig;
    private fillingColumnHeadElement;
    private fillingColumnInitialWidth;
    private fillingColumnCellElements;
    private tableWidthChangeInterval;
    private tableNumberOfColumnsInterval;
    private destroyed$;
    get whichColumnFillsWidth(): QdTableFillingColumn;
    constructor(tableStoreService: QdTableStoreService<T>, zone: NgZone);
    initialize(tableComponentElement: HTMLElement, tableConfig: QdTableConfig<T> | QdTreeConfig<T>): void;
    private fillRemainingWidth;
    private getFillingColumnHeadElement;
    private getFillingColumnCellElements;
    private getFillingColumnCellElement;
    private fillRemainingWidthWithPaddingRight;
    private getTableRemainingWidthAfterFilling;
    private resetStyles;
    private observeTableWidth;
    private getTableWidth;
    private observeTableNumberOfColumns;
    private getNumberOfColumns;
    private observeTableData;
    updateTableConfig(tableConfig: QdTableConfig<T> | QdTreeConfig<T>): void;
    private reinitialize;
    private clearSubscriptions;
    destroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<QdTableFillingWidthService<any>, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<QdTableFillingWidthService<any>>;
}
//# sourceMappingURL=filling-width.service.d.ts.map