/** @packageDocumentation
 * @module ContentView
 */
import type { ContentGroup, ContentGroupProps } from "./ContentGroup.js";
import { ContentLayoutDef } from "./ContentLayout.js";
import type { ContentLayoutProps } from "./ContentLayoutProps.js";
/** ContentLayout Manager class.
 * @internal
 */
export declare class InternalContentLayoutManager {
    private static _layoutDefs;
    /** build a layout key that is unique for group layout combination */
    static getKey(props: {
        contentGroupId: string;
        layoutId: string;
    }): string;
    /** Return a LayoutDef that is specific to a content group.
     * @returns the [[ContentLayoutDef]] if found, or undefined otherwise
     */
    static getForGroup(contentGroupProps: ContentGroupProps | ContentGroup, overrideContentLayout?: ContentLayoutProps): ContentLayoutDef;
    /** 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 find(layoutKey: string): ContentLayoutDef | undefined;
    /** Adds a Content Layout.
     * @param layoutId  the id of the Content Layout to add
     * @param layoutDef  the Content Layout definition to add
     */
    static add(layoutId: string, layoutDef: ContentLayoutDef): void;
    /** Gets the active Content Layout */
    static get activeLayout(): ContentLayoutDef | undefined;
    /** Gets the active Content Group */
    static get activeContentGroup(): ContentGroup | undefined;
    /** 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 setActive(contentLayoutDef: ContentLayoutDef, contentGroup: ContentGroup): Promise<void>;
    /** Sets the active Content Group.
     * @param contentGroup  Content Group to make active
     */
    static setActiveContentGroup(contentGroup: ContentGroup): Promise<void>;
    /** Refreshes the active layout and content group.
     */
    static refreshActive(): void;
}
//# sourceMappingURL=InternalContentLayoutManager.d.ts.map