import * as React from "react"; import { ISpaceProps, ISpaceStore, ISpaceDefinition, CenterType, ISpaceContext, ICommonProps } from "./core-types"; import * as PropTypes from "prop-types"; export declare const useEffectOnce: (effect: () => void | (() => void)) => void; 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; allowOverflow: PropTypes.Requireable; handleRender: PropTypes.Requireable<(...args: any[]) => any>; onClick: PropTypes.Requireable<(...args: any[]) => any>; onDoubleClick: 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 IReactSpaceCommonProps extends ICommonProps, IReactEvents { innerComponentStyle?: React.CSSProperties; as?: keyof React.ReactDOM | React.ComponentType; children?: React.ReactNode; style?: React.CSSProperties; } export interface IReactSpaceInnerProps extends IReactSpaceCommonProps, ISpaceProps, IReactEvents { handleRender?: (handleProps: IResizeHandleProps) => React.ReactNode; } export interface IReactSpacesOptions { debug?: boolean; } export declare function useForceUpdate(): () => void; export declare function useUniqueId(): string; export declare function useSpace(props: IReactSpaceInnerProps): { space: ISpaceDefinition; resizeHandles: { mouseHandles: IResizeHandleProps[]; }; domRect: DOMRect | undefined; elementRef: React.MutableRefObject; }; 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): { mouseHandles: IResizeHandleProps[]; }; export declare function useCurrentSpace(): ISpaceContext; export declare let SSR_SUPPORT_ENABLED: boolean; export declare function enabledSsrSupport(): void;