/** @packageDocumentation * @module ContentView */ import "./ContentLayout.scss"; import * as React from "react"; import { CommonProps, UiEvent } from "@bentley/ui-core"; import { ContentGroup } from "./ContentGroup"; import { ContentLayoutProps, LayoutFragmentProps } from "./ContentLayoutProps"; /** Common interface for HorizontalSplit and VerticalSplit * @public */ export interface LayoutSplit { createContentContainer(contentNodes: React.ReactNode[], resizable: boolean): React.ReactNode; isLocked: boolean; } /** Content Layout Definition class. * @public */ export declare class ContentLayoutDef { private static _sId; private _layoutProps; private _rootSplit?; /** ID for this Content Layout */ id: string; /** Localization key for a description. */ descriptionKey: string; /** The priority for the layout. Determines its position in menus. Higher numbers appear first. */ priority: number; constructor(layoutProps: ContentLayoutProps); get rootSplit(): LayoutSplit | undefined; /** Creates [[ContentLayoutProps]] for JSON purposes * @public */ toJSON(): ContentLayoutProps; /** Fill a layout container with React nodes for each content view */ fillLayoutContainer(contentNodes: React.ReactNode[], resizable: boolean): React.ReactNode | undefined; /** Gets the indexes of content views used in this Content Layout */ getUsedContentIndexes(): number[]; private getHorizontalSplitContentIndexes; private getVerticalSplitContentIndexes; /** @internal */ static createSplit(fragmentDef: LayoutFragmentProps): LayoutSplit | undefined; } /** Content Layout Activated Event Args class. * @public */ export interface ContentLayoutActivatedEventArgs { contentLayout: ContentLayoutDef; contentGroup: ContentGroup; } /** Content Layout Activated Event class. * @public */ export declare class ContentLayoutActivatedEvent extends UiEvent { } /** State for the [[ContentLayout]]. */ interface ContentLayoutState { contentLayoutDef: ContentLayoutDef; contentContainer?: React.ReactNode; } /** Properties for the [[ContentLayout]] React component. * @public */ export interface ContentLayoutComponentProps extends CommonProps { contentLayout: ContentLayoutDef; contentGroup: ContentGroup; isInFooterMode: boolean; } /** Content Layout React component. * @public */ export declare class ContentLayout extends React.Component { /** @internal */ readonly state: Readonly; constructor(props: ContentLayoutComponentProps); componentDidMount(): void; componentWillUnmount(): void; private _handleContentLayoutActivated; render(): React.ReactNode; private _onMouseDown; private _onMouseUp; } export {}; //# sourceMappingURL=ContentLayout.d.ts.map