import { AbstractLayout, Dimension, EventHandler, HtmlComponent, HtmlCompPrefSizeOptions, Insets, LogicalGridLayoutConfig, LogicalGridLayoutInfo, LogicalGridLayoutSpy, ObjectOrModel, Rectangle, Widget } from '../../index'; /** * The logical grid layout arranges the elements in a container automatically based on the {@link LogicalGridData}. * The {@link LogicalGridData} is typically initialized from a {@link GridData}, and a {@link GridData} is calculated by a {@link LogicalGrid} derived from {@link LogicalGridWidget.gridDataHints}. * * This may sound a bit confusing at first. The important part is: * based on the order of the widgets (e.g. the order of {@link GroupBoxModel.fields}) and the {@link LogicalGridWidget.gridDataHints} (e.g. {@link FormField.gridDataHints}), * the widgets will be arranged automatically by the logical grid layout. So you only need to take care of the order and of configuring the hints. * * The width, height and margin of a grid cell is pre-defined, but you can adjust it using {@link LogicalGridLayoutConfig}, e.g. by configuring {@link GroupBoxModel.bodyLayoutConfig}. */ export declare class LogicalGridLayout extends AbstractLayout { validityBasedOnContainerSize: Dimension; valid: boolean; widget: Widget; info: LogicalGridLayoutInfo; layoutConfig: LogicalGridLayoutConfig; htmlPropertyChangeHandler: EventHandler; hgap: number; vgap: number; columnWidth: number; rowHeight: number; minWidth: number; spyEnabled: boolean; protected _spy: LogicalGridLayoutSpy; constructor(widget: Widget, layoutConfig: ObjectOrModel); validateLayout($container: JQuery, options: HtmlCompPrefSizeOptions): void; protected _validateGridData(htmlComp: HtmlComponent): boolean; layout($container: JQuery): void; protected _layout($container: JQuery): void; protected _layoutCellBounds(containerSize: Dimension, containerInsets: Insets): Rectangle[][]; preferredLayoutSize($container: JQuery, options: HtmlCompPrefSizeOptions): Dimension; /** * Enables or disables the layout spy that visualizes the cell bounds of the logical grid for debugging purposes. */ setSpyEnabled(spyEnabled: boolean): void; } //# sourceMappingURL=LogicalGridLayout.d.ts.map