/** @packageDocumentation
 * @module Widget
 */
import "./FloatingWidget.scss";
import * as React from "react";
import { Rectangle } from "@itwin/core-react";
import type { FloatingWidgetState } from "../state/WidgetState";
import type { XAndY } from "../state/internal/NineZoneStateHelpers";
type FloatingWidgetEdgeHandle = "left" | "right" | "top" | "bottom";
type FloatingWidgetCornerHandle = "topLeft" | "topRight" | "bottomLeft" | "bottomRight";
/** @internal */
export type FloatingWidgetResizeHandle = FloatingWidgetEdgeHandle | FloatingWidgetCornerHandle;
/** @internal */
export interface FloatingWidgetProviderProps {
    id: FloatingWidgetState["id"];
}
/** @internal */
export declare function FloatingWidgetProvider(props: FloatingWidgetProviderProps): React.JSX.Element;
/** @internal */
export interface FloatingWidgetProps {
    onMouseEnter?: (event: React.MouseEvent<HTMLElement, MouseEvent>) => void;
    onMouseLeave?: (event: React.MouseEvent<HTMLElement, MouseEvent>) => void;
}
/** @internal */
export declare function FloatingWidget(props: FloatingWidgetProps): React.JSX.Element;
/** @internal */
export declare function getResizeBy(handle: FloatingWidgetResizeHandle, offset: XAndY): Rectangle;
/** @internal */
export declare function useFloatingWidgetId(): FloatingWidgetState["id"] | undefined;
/** @internal */
export declare function useWidgetAllowedToDock(): boolean;
export {};
//# sourceMappingURL=FloatingWidget.d.ts.map