/** @packageDocumentation * @module Base */ import type { Draft } from "immer"; import type { RectangleProps, SizeProps } from "@itwin/core-react"; import type { NineZoneState } from "../NineZoneState"; import type { FloatingWidgetState } from "../WidgetState"; /** Same as XAndY from core-geometry, but reproduced here to avoid a breaking peer dependency change. * @internal */ export interface XAndY { readonly x: number; readonly y: number; } /** @internal */ export declare const category = "appui-layout-react:layout"; /** Helper that returns a plain object. Prevents from adding an instance that is not `immerable` to the state. * @internal */ export declare function toRectangleProps(rectangle: RectangleProps | undefined): RectangleProps; /** @internal */ export declare function setRectangleProps(props: Draft, bounds: RectangleProps): void; /** @internal */ export declare function setPointProps(props: Draft, point: XAndY): void; /** @internal */ export declare function setSizeProps(props: Draft, size: SizeProps): void; type KeysOfType = { [K in keyof T]: T[K] extends Type ? K : never; }[keyof T]; /** @internal */ export declare function initSizeProps>(obj: T, key: K, size: SizeProps | undefined): void; /** @internal */ export declare function initRectangleProps>(obj: T, key: K, rectangle: T[K]): void; /** @internal */ export declare function isToolSettingsFloatingWidget(state: NineZoneState, id: FloatingWidgetState["id"]): boolean; /** @internal */ export declare function updateHomeOfToolSettingsWidget(state: NineZoneState, id: FloatingWidgetState["id"], home: FloatingWidgetState["home"]): NineZoneState; export {}; //# sourceMappingURL=NineZoneStateHelpers.d.ts.map