import type { Ref } from 'vue'; import type { Store } from './store'; import type { Table } from './table/defaults'; import type { TableColumnCtx } from './table-column/defaults'; import type { TableHeader } from './table-header/types'; declare class TableLayout { store: Store; table: Table; fit: boolean | undefined; showHeader: boolean | undefined; scrollX: Ref; scrollY: Ref; bodyWidth: Ref; observers: TableHeader[]; height: Ref; gutterWidth: number; constructor(options: Record); getFlattenColumns(): TableColumnCtx[]; addObserver(observer: TableHeader): void; removeObserver(observer: TableHeader): void; notifyObservers(event: string): void; updateColumnsWidth(): void; setHeight(value: string | number, prop?: string): Promise; setMaxHeight(value: string | number): void; parseHeight(height: number | string): string | number; updateTableContentHeight(): void; updateScrollY(): boolean; } export default TableLayout;