import { VNode } from 'snabbdom/vnode'; import { Renderable, ConfiguredRenderable, RenderableArea, RenderableConfig, RenderableDestroyContext } from '../dom'; import { RenderableArg, DropArea } from '../common'; import { DragHost } from '../DragHost'; export interface LayoutConfig extends RenderableConfig { child: RenderableArg; } /** * A layout is a set of renderables scoped to a drag host. * @export * @class Layout * @extends {Renderable} */ export declare class Layout extends Renderable { protected _config: LayoutConfig | null; protected _container: Renderable; protected _dragHost: DragHost; /** * The height of the layout in pixels. * @readonly * @type {number} */ readonly height: number; /** * The width of the layout in pixels. * @readonly * @type {number} */ readonly width: number; initialize(): void; /** * Creates this renderables virtual node. * @returns {VNode} */ render(): VNode; /** * Destroys this renderable. */ destroy(context: RenderableDestroyContext): void; /** * Gets the visible areas of all descendant Renderables. * @returns {Array<{ item: Renderable, area: RenderableArea }>} */ getItemVisibleAreas(): Array<{ item: Renderable; area: RenderableArea; }>; getDropTargets(target: Renderable, options?: { excludes?: Renderable[]; }): DropArea[]; isRenderable(): boolean; private _onDragHostStart; /** * Configures a layout renderable. * @static * @param {LayoutConfig} config * @returns {ConfiguredRenderable} */ static configure(config: LayoutConfig): ConfiguredRenderable; }