/** @packageDocumentation * @module Base */ import * as React from "react"; import { Rectangle } from "@bentley/ui-core"; import { CursorType } from "../widget-panels/CursorOverlay"; import { PanelSide } from "../widget-panels/Panel"; import { FloatingWidgetResizeHandle } from "../widget/FloatingWidget"; import { DraggedTabState, FloatingWidgetsState, NineZoneActionTypes, NineZoneState, PanelsState, TabsState, ToolSettingsState, WidgetsState } from "./NineZoneState"; /** @internal future */ export declare type NineZoneDispatch = (action: NineZoneActionTypes) => void; /** @internal future */ export interface NineZoneProps { children?: React.ReactNode; dispatch: NineZoneDispatch; state: NineZoneState; labels?: NineZoneLabels; toolSettingsContent?: React.ReactNode; widgetContent?: React.ReactNode; tab?: React.ReactNode; } /** @internal */ export interface NineZoneLabels { dockToolSettingsTitle?: string; moreWidgetsTitle?: string; moreToolSettingsTitle?: string; pinPanelTitle?: string; resizeGripTitle?: string; sendWidgetHomeTitle?: string; toolSettingsHandleTitle?: string; unpinPanelTitle?: string; popoutActiveTab?: string; } /** @internal future */ 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 NineZoneContext: React.Context; /** @internal */ export declare const NineZoneDispatchContext: React.Context; /** @internal */ export declare const NineZoneLabelsContext: React.Context; /** @internal */ export declare const DraggedTabStateContext: React.Context; /** @internal */ export declare const DraggedTabContext: React.Context; /** @internal */ export declare const TabsStateContext: React.Context; /** @internal */ export declare const WidgetsStateContext: React.Context; /** @internal */ export declare const PanelsStateContext: React.Context; /** @internal */ export declare const FloatingWidgetsStateContext: React.Context; /** @internal */ export declare const CursorTypeContext: React.Context; /** @internal */ export declare const WidgetContentNodeContext: React.Context; /** @internal */ export declare const ToolSettingsNodeContext: React.Context; /** @internal */ export declare const TabNodeContext: React.Context; /** @internal */ export declare const ToolSettingsStateContext: React.Context; /** @internal */ export declare const MeasureContext: React.Context<() => Rectangle>; /** @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