/** @packageDocumentation * @module ContentView */ import * as React from "react"; import { ScreenViewport } from "@bentley/imodeljs-frontend"; import { ConfigurableUiControlConstructor } from "../configurableui/ConfigurableUiControl"; import { ContentControl } from "./ContentControl"; /** Properties for content displayed in a content view * @public */ export interface ContentProps { /** An optional id for the Content View */ id?: string; /** The class name or [[ConfigurableUiControlConstructor]] of the content control */ classId: string | ConfigurableUiControlConstructor; /** Optional application data passed down to the Content View */ applicationData?: any; } /** Properties for a [[ContentGroup]] * @public */ export interface ContentGroupProps { /** An optional id for the [[ContentGroup]] */ id?: string; /** A collection of [[ContentProps]], one for each content view */ contents: ContentProps[]; } /** Callback to process content properties during toJSON method * @public */ export declare type ContentCallback = (content: ContentProps) => void; /** ContentGroup class. Content Groups define content displayed in content views that are laid out using a [[ContentLayout]]. * @public */ export declare class ContentGroup { private static _sId; groupId: string; contentPropsList: ContentProps[]; private _contentControls; private _contentSetMap; constructor(groupProps: ContentGroupProps); /** Gets a [[ContentControl]] from the Content Group based on its [[ContentProps]]. */ getContentControl(contentProps: ContentProps, index: number): ContentControl | undefined; /** Gets a [[ContentControl]] from the Content Group with a given ID. */ getContentControlById(id: string): ContentControl | undefined; /** Gets the React nodes representing the Content Views in this Content Group. */ getContentNodes(): React.ReactNode[]; /** Gets the [[ContentControl]] associated with a given React node representing a Content View. */ getControlFromElement(node: React.ReactNode): ContentControl | undefined; /** Refreshes the React nodes representing the Content Views in this Content Group.. */ refreshContentNodes(): void; /** Gets an array of the content controls representing the Content Views. */ getContentControls(): ContentControl[]; /** Called when Frontstage is deactivated. */ onFrontstageDeactivated(): void; /** Called when Frontstage is ready. */ onFrontstageReady(): void; /** Clears the map of content controls. */ clearContentControls(): void; /** Creates [[ContentGroupProps]] for JSON purposes * @public */ toJSON(contentCallback?: ContentCallback): ContentGroupProps; /** Gets Viewports from Viewport Content Controls * @internal */ getViewports(): Array; } /** ContentGroup Manager class. * @public */ export declare class ContentGroupManager { private static _groups; static loadGroups(groupPropsList: ContentGroupProps[]): void; static loadGroup(groupProps: ContentGroupProps): void; static findGroup(groupId: string): ContentGroup | undefined; static addGroup(groupId: string, group: ContentGroup): void; } //# sourceMappingURL=ContentGroup.d.ts.map