import type { Ref } from 'vue'; import type { TableColumnCtx } from './table-column/defaults'; import type { TableHeader } from './table-header'; import type { Table } from './table/defaults'; import type { Store } from './store'; declare class TableLayout { observers: TableHeader[]; table: Table; store: Store; columns: TableColumnCtx[]; fit: boolean; showHeader: boolean; height: Ref; scrollX: Ref; scrollY: Ref; bodyWidth: Ref; fixedWidth: Ref; rightFixedWidth: Ref; tableHeight: Ref; headerHeight: Ref; appendHeight: Ref; footerHeight: Ref; gutterWidth: number; constructor(options: Record); updateScrollY(): boolean; setHeight(value: string | number, prop?: string): any; setMaxHeight(value: string | number): void; getFlattenColumns(): TableColumnCtx[]; updateElsHeight(): void; headerDisplayNone(elm: HTMLElement): boolean; updateColumnsWidth(): void; addObserver(observer: TableHeader): void; removeObserver(observer: TableHeader): void; notifyObservers(event: string): void; } export default TableLayout;