/** @packageDocumentation * @module Base */ import * as React from "react"; import { Rectangle } from "@itwin/core-react"; import type { CursorType } from "../widget-panels/CursorOverlay"; import type { PanelSide } from "../widget-panels/Panel"; import type { FloatingWidgetResizeHandle } from "../widget/FloatingWidget"; import type { NineZoneAction } from "../state/NineZoneAction"; import type { LayoutStore } from "./LayoutStore"; /** @internal */ export type NineZoneDispatch = (action: NineZoneAction) => void; /** @internal */ export interface NineZoneProps { children?: React.ReactNode; dispatch: NineZoneDispatch; layout: LayoutStore; labels?: NineZoneLabels; toolSettingsContent?: React.ReactNode; widgetContent?: React.ReactNode; tab?: React.ReactNode; floatingWidget?: React.ReactNode; showWidgetIcon?: boolean; autoCollapseUnpinnedPanels?: boolean; animateDockedToolSettings?: boolean; uiIsVisible?: boolean; } /** @internal */ export interface NineZoneLabels { dockToolSettingsTitle?: string; moreWidgetsTitle?: string; moreToolSettingsTitle?: string; pinPanelTitle?: string; resizeGripTitle?: string; sendWidgetHomeTitle?: string; toolSettingsHandleTitle?: string; unpinPanelTitle?: string; popoutActiveTab?: string; } /** @internal */ export declare function NineZone(props: NineZoneProps): JSX.Element; /** @internal */ export interface NineZoneProviderProps extends NineZoneProps { measure: () => Rectangle; } /** @internal */ export declare function NineZoneProvider(props: NineZoneProviderProps): JSX.Element; /** @internal */ export declare const NineZoneDispatchContext: React.Context; /** @internal */ export declare const NineZoneLabelsContext: React.Context; /** @internal */ export declare const CursorTypeContext: React.Context; /** @internal */ export declare const WidgetContentNodeContext: React.Context; /** @internal */ export declare const ShowWidgetIconContext: React.Context; /** @internal */ export declare const AutoCollapseUnpinnedPanelsContext: React.Context; /** @internal */ export declare const AnimateDockedToolSettingsContext: React.Context; /** @internal */ export declare const ToolSettingsNodeContext: React.Context; /** @internal */ export declare const TabNodeContext: React.Context; /** @internal */ export declare const FloatingWidgetNodeContext: React.Context; /** @internal */ export declare const MeasureContext: React.Context<() => Rectangle>; /** @internal */ export declare const UiIsVisibleContext: React.Context; /** @internal */ export declare function sideToCursorType(side: PanelSide): CursorType; /** @internal */ export declare function handleToCursorType(handle: FloatingWidgetResizeHandle): CursorType; /** @internal */ export declare function getUniqueId(): string; /** @internal */ export declare function useLabel(labelKey: keyof NineZoneLabels): string | undefined; //# sourceMappingURL=NineZone.d.ts.map