/** @packageDocumentation * @module Base */ import type { RectangleProps } from "@itwin/core-react"; import type { NineZoneState } from "./NineZoneState"; import type { TabState } from "./TabState"; import type { PanelWidgetRestoreState, WidgetRestoreState } from "./WidgetRestoreState"; /** State of a stacked widget, which can contain multiple tabs. I.e. in a panel section or a floating widget. * @internal */ export interface WidgetState { readonly activeTabId: TabState["id"]; readonly id: string; readonly minimized: boolean; readonly tabs: ReadonlyArray; } /** @internal */ export interface WidgetsState { readonly [id: string]: WidgetState; } /** @internal */ export interface FloatingWidgetState { readonly id: WidgetState["id"]; readonly bounds: RectangleProps; readonly home: PanelWidgetRestoreState; readonly userSized?: boolean; readonly resizable?: boolean; } /** @internal */ export interface FloatingWidgetsState { readonly byId: { readonly [id: string]: FloatingWidgetState; }; readonly allIds: ReadonlyArray; } /** @internal */ export interface PopoutWidgetState { readonly bounds: RectangleProps; readonly id: WidgetState["id"]; readonly home: WidgetRestoreState; } /** @internal */ export interface PopoutWidgetsState { readonly byId: { readonly [id: string]: PopoutWidgetState; }; readonly allIds: ReadonlyArray; } /** @internal */ export declare function addFloatingWidget(state: NineZoneState, id: FloatingWidgetState["id"], tabs: WidgetState["tabs"], floatingWidgetArgs?: Partial, widgetArgs?: Partial): NineZoneState; /** @internal */ export declare function addPopoutWidget(state: NineZoneState, id: PopoutWidgetState["id"], tabs: WidgetState["tabs"], popoutWidgetArgs?: Partial, widgetArgs?: Partial): NineZoneState; /** @internal */ export declare function floatingWidgetBringToFront(state: NineZoneState, floatingWidgetId: FloatingWidgetState["id"]): NineZoneState; //# sourceMappingURL=WidgetState.d.ts.map