import * as React from "react"; import Dragger from "@daybrush/drag"; import { MoveableManagerProps, MoveableManagerState, Able, RectInfo } from "./types"; import CustomDragger from "./CustomDragger"; declare const ControlBoxElement: { new (props: any): { element: HTMLDivElement; render(): React.DOMElement<{ children?: React.ReactNode; className: string; }, Element>; componentDidMount(): void; componentWillUnmount(): void; getElement(): HTMLDivElement; context: any; setState(state: {} | ((prevState: Readonly<{}>, props: Readonly<{ [key: string]: any; }>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void; forceUpdate(callBack?: (() => void) | undefined): void; readonly props: Readonly<{ [key: string]: any; }> & Readonly<{ children?: React.ReactNode; }>; state: Readonly<{}>; refs: { [key: string]: React.ReactInstance; }; }; contextType?: React.Context | undefined; }; export default class MoveableManager extends React.PureComponent, MoveableManagerState> { static defaultProps: Required; state: MoveableManagerState; targetAbles: Array>; controlAbles: Array>; controlBox: typeof ControlBoxElement extends new (...args: any[]) => infer K ? K : never; areaElement: HTMLElement; targetDragger: Dragger; controlDragger: Dragger; customDragger: CustomDragger; render(): JSX.Element; componentDidMount(): void; componentDidUpdate(prevProps: MoveableManagerProps): void; componentWillUnmount(): void; getContainer(): HTMLElement | SVGElement | null; isMoveableElement(target: HTMLElement | SVGElement): boolean; dragStart(e: MouseEvent | TouchEvent): void; isInside(clientX: number, clientY: number): boolean; updateRect(type?: "Start" | "" | "End", isTarget?: boolean, isSetState?: boolean): void; updateEvent(prevProps: MoveableManagerProps): void; updateTarget(type?: "Start" | "" | "End"): void; getRect(): RectInfo; checkUpdate(): void; triggerEvent(name: string, e: any): any; protected unsetAbles(): void; protected updateAbles(ables?: Able[], eventAffix?: string): void; protected updateState(nextState: any, isSetState?: boolean): void; protected renderAbles(): any[]; } export {};