import * as React from "react"; import { ISpaceProps, ISpaceStore, ISpaceDefinition, IPositionalProps, CenterType } from "./core-types"; import * as PropTypes from "prop-types"; export declare const ParentContext: React.Context; export declare const DOMRectContext: React.Context; export declare const LayerContext: React.Context; export declare const OptionsContext: React.Context; export declare const currentStore: ISpaceStore; export declare const commonProps: { id: PropTypes.Requireable; className: PropTypes.Requireable; style: PropTypes.Requireable; as: PropTypes.Requireable; centerContent: PropTypes.Requireable; zIndex: PropTypes.Requireable; scrollable: PropTypes.Requireable; trackSize: PropTypes.Requireable; onClick: PropTypes.Requireable<(...args: any[]) => any>; onMouseDown: PropTypes.Requireable<(...args: any[]) => any>; onMouseEnter: PropTypes.Requireable<(...args: any[]) => any>; onMouseLeave: PropTypes.Requireable<(...args: any[]) => any>; onMouseMove: PropTypes.Requireable<(...args: any[]) => any>; onTouchStart: PropTypes.Requireable<(...args: any[]) => any>; onTouchMove: PropTypes.Requireable<(...args: any[]) => any>; onTouchEnd: PropTypes.Requireable<(...args: any[]) => any>; }; export interface IReactSpacesOptions { debug?: boolean; } export interface IReactEvents { onClick?: (event: React.MouseEvent) => void; onDoubleClick?: (event: React.MouseEvent) => void; onMouseDown?: (event: React.MouseEvent) => void; onMouseEnter?: (event: React.MouseEvent) => void; onMouseLeave?: (event: React.MouseEvent) => void; onMouseMove?: (event: React.MouseEvent) => void; onTouchStart?: (event: React.TouchEvent) => void; onTouchMove?: (event: React.TouchEvent) => void; onTouchEnd?: (event: React.TouchEvent) => void; } export interface UseSpaceContext { space: ISpaceDefinition; resizeHandles: { mouseHandles: IResizeHandleProps[]; }; domRect: DOMRect | undefined; elementRef: React.MutableRefObject; } export declare function useForceUpdate(): () => void; export declare function useSpace(props: ISpaceProps): UseSpaceContext; export declare const useSpaceBoundingBox: () => DOMRect | undefined; export interface IResizeHandleProps { id?: string; key: string | number; className?: string; onMouseDown: (e: React.MouseEvent) => void; onTouchStart: (e: React.TouchEvent) => void; } export declare function useSpaceResizeHandles(store: ISpaceStore, space: ISpaceDefinition, position: IPositionalProps | undefined): { mouseHandles: IResizeHandleProps[]; };