/*---------------------------------------------------------------------------------------------
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
* See LICENSE.md in the project root for license terms and full copyright notice.
*--------------------------------------------------------------------------------------------*/
/** @packageDocumentation
 * @module ContentView
 */
import { InternalContentLayoutManager as internal } from "./InternalContentLayoutManager";
/** ContentLayout Manager class.
 * @public
 * @deprecated in 3.7. Use `UiFramework.content.layouts` property.
 */
export class ContentLayoutManager {
    /** build a layout key that is unique for group layout combination */
    static getLayoutKey(props) {
        return internal.getKey(props);
    }
    /** Return a LayoutDef that is specific to a content group.
     * @returns the [[ContentLayoutDef]] if found, or undefined otherwise
     */
    static getLayoutForGroup(contentGroupProps, overrideContentLayout) {
        return internal.getForGroup(contentGroupProps, overrideContentLayout);
    }
    /** Finds a Content Layout with a given id.
     * @param layoutKey  group specific layout id, see `getLayoutKey`
     * @returns the [[ContentLayoutDef]] if found, or undefined otherwise
     */
    static findLayout(layoutKey) {
        return internal.find(layoutKey);
    }
    /** Adds a Content Layout.
     * @param layoutId  the id of the Content Layout to add
     * @param layoutDef  the Content Layout definition to add
     */
    static addLayout(layoutId, layoutDef) {
        return internal.add(layoutId, layoutDef);
    }
    /** Gets the active Content Layout */
    static get activeLayout() {
        return internal.activeLayout;
    }
    /** Gets the active Content Group */
    static get activeContentGroup() {
        return internal.activeContentGroup;
    }
    /** Sets the active Content Layout, Content Group and Content Control.
     * @param contentLayoutDef  Content layout to make active
     * @param contentGroup  Content Group to make active
     */
    static async setActiveLayout(contentLayoutDef, contentGroup) {
        return internal.setActive(contentLayoutDef, contentGroup);
    }
    /** Sets the active Content Group.
     * @param contentGroup  Content Group to make active
     */
    static async setActiveContentGroup(contentGroup) {
        return internal.setActiveContentGroup(contentGroup);
    }
    /** Refreshes the active layout and content group.
     */
    static refreshActiveLayout() {
        return internal.refreshActive();
    }
}
//# sourceMappingURL=ContentLayoutManager.js.map