import { AtomControl } from "./AtomControl";
/**
 * GridView columns or rows can accept comma separated strings with
 * absolute pixel value, percent value and star (*).
 *
 * For example, 20% of total width for first column, 200 pixel for last column
 * and rest of the space is for middle = "20%, *, 200"
 *
 * You can have only one star specification.
 * @example
 *  <AtomGridView
 *     rows="50,*"
 *     columns="20%, 5, *, 200">
 *
 *      <!-- Header spans for three columns in first row -->
 *      <header row="0" column="0:3"></header>
 *
 *      <!-- menu is on first column -->
 *      <menu row="1" column="0"></menu>
 *
 *      <!-- Grid splitter splits 1st and 3rd column and itself lies in 2nd column -->
 *      <AtomGridSplitter row="1" column="1" direction="vertical" />
 *
 *      <!-- Section fills remaining area -->
 *      <section row="1" column="2"></section>
 *
 *      <!-- Help sits on last column -->
 *      <Help row="1" column="3"></Help>
 *  </AtomGridView>
 */
export declare class AtomGridView extends AtomControl {
    static getCellInfo(e: HTMLElement): {
        row: number;
        rowSpan: number;
        column: number;
        colSpan: number;
    };
    columns: string;
    rows: string;
    private columnSizes;
    private rowSizes;
    private children;
    private attempt;
    private availableRect;
    private childrenReady;
    append(e: HTMLElement | Text | AtomControl): AtomControl;
    onUpdateUI(): void;
    resize(item: "column" | "row", index: number, delta: number): void;
    onPropertyChanged(name: string): void;
    protected onUpdateSize(): void;
    protected preCreate(): void;
    private updateStyle;
    private toSize;
    private assignOffsets;
}
//# sourceMappingURL=AtomGridView.d.ts.map