import { QueryList } from '@angular/core';
import { BaseResizableTableService, ResizableTableType } from '../resizable-table-base.service';
import { ResizableTableColumnComponent } from '../resizable-table-column.component';
import * as i0 from "@angular/core";
export declare class ResizableExpandingTableService extends BaseResizableTableService {
    /** Define the type of resizing we should use */
    type: ResizableTableType;
    /** Store the QueryList of columns */
    private _columns;
    /** Store the size of each column */
    setColumns(columns: QueryList<ResizableTableColumnComponent>): void;
    /** Set all resizable columns to the same width */
    setUniformWidths(): void;
    ensureNoOverflow(columns: ReadonlyArray<number>): ReadonlyArray<number>;
    /** Allow setting the column size in any unit */
    setColumnWidth(index: number, value: number, unit: ColumnUnit, columns?: ReadonlyArray<number>): ReadonlyArray<number>;
    /** Resize a column by a specific pixel amount */
    resizeColumn(index: number, delta: number): void;
    /** Get the next column in the sequence of columns */
    private getSiblingColumn;
    /** Return true if this column is above the minimum width */
    private isWidthValid;
    getColumn(index: number): ResizableTableColumnComponent | null;
    getColumnDisabled(index: number): boolean;
    static ɵfac: i0.ɵɵFactoryDeclaration<ResizableExpandingTableService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<ResizableExpandingTableService>;
}
export declare enum ColumnUnit {
    Pixel = 0,
    Percentage = 1
}
