/** @packageDocumentation
 * @module Widget
 */
import type { StagePanelLocation } from "../stagepanels/StagePanelLocation";
import type { StagePanelSection } from "../stagepanels/StagePanelSection";
import type { WidgetDef } from "./WidgetDef";
/**
 * A WidgetHost represents a definition that hosts one or most Widgets in a Frontstage.
 * @public
 */
export declare class WidgetHost {
    private _widgetDefs;
    private _dynamicWidgetDefs;
    private _sortedWidgetDefs;
    /** Constructor for WidgetHost.
     */
    constructor();
    /** Adds a WidgetDef to the list of Widgets.
     * @param widgetDef  Definition of the Widget to add
     */
    addWidgetDef(widgetDef: WidgetDef): void;
    /** Gets the list of Widgets. */
    get widgetDefs(): ReadonlyArray<WidgetDef>;
    /** Gets the number of Widgets. */
    get widgetCount(): number;
    /** If there is only one Widget in the Panel, gets the single WidgetDef.
     * @returns The single WidgetDef if there is only one Widget; otherwise, undefined is returned.
     */
    getSingleWidgetDef(): WidgetDef | undefined;
    /** Finds a WidgetDef with a given Id.
     * @param id  Id of the WidgetDef to find
     * @returns The WidgetDef if found; otherwise, undefined is returned.
     */
    findWidgetDef(id: string): WidgetDef | undefined;
    /** Updates the WidgetHost with dynamic widgets
     * @internal
     */
    updateDynamicWidgetDefs(stageId: string, stageUsage: string, location: StagePanelLocation, section: StagePanelSection | undefined, allStageWidgetDefs: WidgetDef[]): void;
    /** Sorts all widgets */
    private sortWidgetDefs;
}
//# sourceMappingURL=WidgetHost.d.ts.map