import { LayoutColumn, LayoutRow, LayoutWidget, LayoutWidgetOptions } from '../types/layout.types';
import { WidgetFrameAttribute, WidgetFrame } from '../types/widgets.types';
import TkBaseWidget, { TkWidgetOptions } from './TkBaseWidget';
export default class TkLayoutWidget extends TkBaseWidget implements LayoutWidget {
    readonly type = "layout";
    private layout;
    constructor(options: TkWidgetOptions & LayoutWidgetOptions);
    getChildren(): any;
    getTermKitElement(): any;
    getFrame(): {
        left: any;
        top: any;
        width: any;
        height: any;
    };
    destroy(): Promise<void>;
    setFrame(frame: Partial<WidgetFrame>): void;
    private handleResize;
    getRows(): LayoutRow[];
    private termKitRowsToLayoutRows;
    private termKitColumnsToLayoutColumns;
    addRow(row: LayoutRow): void;
    removeRow(rowIdx: number): void;
    removeColumn(rowIdx: number, columnIdx: number): void;
    addColumn(rowIdx: number, column: LayoutColumn): void;
    setColumnWidth(options: {
        rowIdx: number;
        columnIdx: number;
        width: WidgetFrameAttribute;
    }): void;
    private widgetColumnsToTermKitColumns;
    setRowHeight(rowIdx: number, height: WidgetFrameAttribute): void;
    updateLayout(): void;
}
