/** @packageDocumentation
 * @module Base
 */
import type { NineZoneState } from "../NineZoneState";
import type { FloatingWidgetState, PopoutWidgetState, WidgetState } from "../WidgetState";
import type { PanelWidgetLocation } from "../WidgetLocation";
import type { RectangleProps } from "../../../utils/RectangleProps";
/** @internal */
export declare function createWidgetState(id: WidgetState["id"], tabs: WidgetState["tabs"], args?: Partial<WidgetState>): WidgetState;
/** @internal */
export declare function updateWidgetState(state: NineZoneState, id: WidgetState["id"], args: Partial<WidgetState>): NineZoneState;
/** @internal */
export declare function addWidgetState(state: NineZoneState, id: WidgetState["id"], tabs: WidgetState["tabs"], args?: Partial<WidgetState>): NineZoneState;
/** @internal */
export declare function removeWidget(state: NineZoneState, id: WidgetState["id"]): NineZoneState;
/** @internal */
export declare function removeWidgetState(state: NineZoneState, id: WidgetState["id"]): NineZoneState;
/** @internal */
export declare function createFloatingWidgetState(id: FloatingWidgetState["id"], args?: Partial<FloatingWidgetState>): FloatingWidgetState;
/** @internal */
export declare function createPopoutWidgetState(id: PopoutWidgetState["id"], args?: Partial<PopoutWidgetState>): PopoutWidgetState;
/** @internal */
export declare function updateFloatingWidgetState(state: NineZoneState, id: FloatingWidgetState["id"], args: Partial<FloatingWidgetState>): NineZoneState;
/** Removes floating widget from the UI and deletes the widget state.
 * @internal
 */
export declare function removeFloatingWidget(state: NineZoneState, id: FloatingWidgetState["id"]): NineZoneState;
/** Removes popout widget from the UI and deletes the widget state.
 * @internal
 */
export declare function removePopoutWidget(state: NineZoneState, id: PopoutWidgetState["id"]): NineZoneState;
/** @internal */
export declare function removePanelWidget(state: NineZoneState, id: WidgetState["id"], location?: PanelWidgetLocation): NineZoneState;
/** @internal */
export declare function assertWidgetState(state: NineZoneState, id: WidgetState["id"]): void;
/** @internal */
export declare function getWidgetState<T extends NineZoneState>(state: T, id: WidgetState["id"]): T["widgets"][0];
/** @internal */
export declare function setWidgetActiveTabId(state: NineZoneState, widgetId: WidgetState["id"], tabId: WidgetState["activeTabId"]): NineZoneState;
/** @internal */
export declare function getNewFloatingWidgetBounds(state: NineZoneState): RectangleProps;
/** @internal */
export declare function addFloatingWidget(state: NineZoneState, id: FloatingWidgetState["id"], tabs: WidgetState["tabs"], floatingWidgetArgs?: Partial<FloatingWidgetState>, widgetArgs?: Partial<WidgetState>): NineZoneState;
/** @internal */
export declare function addPopoutWidget(state: NineZoneState, id: PopoutWidgetState["id"], tabs: WidgetState["tabs"], popoutWidgetArgs?: Partial<PopoutWidgetState>, widgetArgs?: Partial<WidgetState>): NineZoneState;
/** @internal */
export declare function floatingWidgetBringToFront(state: NineZoneState, floatingWidgetId: FloatingWidgetState["id"]): NineZoneState;
//# sourceMappingURL=WidgetStateHelpers.d.ts.map