import React from 'react'; import { Rect } from './helpers/geometry'; import { ViewProps } from './View/types'; declare type CursorState = { top: number; left: number; }; export declare type ResizableSides = { left?: boolean; top?: boolean; bottom?: boolean; right?: boolean; }; export declare type InteractiveProps = Omit & { position?: string; disabled?: boolean; disableFloatingGrabbers?: boolean; isMovableAnchor?: (event: MouseEvent) => boolean; onMoveStart?: () => void; onMoveEnd?: () => void; onMove?: (top: number, left: number, event: MouseEvent) => void; id?: string; movable?: boolean; hidden?: boolean; moving?: boolean; fill?: boolean; siblings?: { [key: string]: Rect; }; updateCursor?: (cursor: string | void) => void; zIndex?: number; right?: number; top?: number; left?: number; minTop?: number; minLeft?: number; width?: number | string; height?: number | string; minWidth?: number; minHeight?: number; maxWidth?: number; maxHeight?: number; onCanResize?: (sides?: ResizableSides) => void; onResizeStart?: () => void; onResizeEnd?: () => void; onResize?: (width: number, height?: number, desiredWidth?: number, desiredHeight?: number, resizingSides?: ResizableSides) => void; resizing?: boolean; resizable?: boolean | ResizableSides; style?: Record; className?: string; children?: any; flex?: number | string; bordered?: boolean; }; declare type InteractiveState = { chromeKey: number; moving: boolean; movingInitialProps: InteractiveProps | void; movingInitialCursor: CursorState | void; cursor: string | void; resizingSides: ResizableSides; couldResize: boolean; resizing: boolean; resizingInitialRect: Rect | void; resizingInitialCursor: CursorState | void; }; export declare class Interactive extends React.Component { static contextType: React.Context<{ nesting: number; }>; static defaultProps: { minHeight: number; minLeft: number; minTop: number; minWidth: number; maxWidth: number; maxHeight: number; }; ref: React.RefObject; globalMouse: boolean; state: { chromeKey: number; couldResize: boolean; cursor: any; moving: boolean; movingInitialCursor: any; movingInitialProps: any; resizing: boolean; resizingInitialCursor: any; resizingInitialRect: any; resizingSides: any; }; nextTop?: number; nextLeft?: number; nextEvent?: MouseEvent; onMouseMove: (event: MouseEvent) => void; startAction: (event: any) => void; startTitleAction(event: MouseEvent): void; startMoving(event: MouseEvent): void; getPossibleTargetWindows(rect: Rect): any[]; startWindowAction(event: MouseEvent): void; startResizeAction(event: MouseEvent): void; componentDidUpdate(_: InteractiveProps, prevState: InteractiveState): void; currentRect: { top: number; left: number; }; componentDidMount(): void; trackNodePos(node: any): void; useResizeObserver: (node: any, cb: ResizeObserverCallback) => () => void; resetMoving(): void; resetResizing(): void; componentWillUnmount(): void; endAction: () => void; onMouseLeave: () => void; calculateMove(event: MouseEvent): void; resize(width: number, height: number): void; move(newTop: number, newLeft: number, event: MouseEvent): void; calculateResize(event: MouseEvent): void; getRect(): Rect; getResizable(): ResizableSides; lastMeasure: number; getCurrentRect(): { top: number; left: number; }; checkIfResizable(event: MouseEvent): { left: boolean; right: boolean; top: boolean; bottom: boolean; }; calculateResizable(event: MouseEvent): void; last: number; onLocalMouseMove: (event: any) => void; updatePosition(): void; render(): JSX.Element; } export declare function getResizeCursor(sides: ResizableSides): string | undefined; export {}; //# sourceMappingURL=Interactive.d.ts.map