import { MediaSingleLayout } from '@uidu/adf-schema';
import { Resizable, ResizeDirection, Size } from 're-resizable';
import * as React from 'react';
import { RefObject } from 'react';
import { EnabledHandles, Props as ResizableMediaSingleProps } from './types';
declare type ResizerProps = ResizableMediaSingleProps & {
    selected: boolean;
    enable: EnabledHandles;
    calcNewSize: (newWidth: number, stop: boolean) => {
        layout: MediaSingleLayout;
        width: number | null;
    };
    snapPoints: number[];
    scaleFactor?: number;
    highlights: (width: number, snapPoints: number[]) => number[] | string[];
};
declare type ResizerState = {
    isResizing: boolean;
};
export default class Resizer extends React.Component<ResizerProps, ResizerState> {
    resizable: RefObject<Resizable>;
    state: {
        isResizing: boolean;
    };
    constructor(props: ResizerProps);
    handleResizeStart: (event: React.MouseEvent<HTMLElement> | React.TouchEvent<HTMLElement>) => void;
    handleResize: (_event: MouseEvent | TouchEvent, _direction: ResizeDirection, _elementRef: HTMLElement, delta: Size) => any;
    handleResizeStop: (_event: MouseEvent | TouchEvent, _direction: string, _refToElement: HTMLElement, delta: {
        width: number;
        height: number;
    }) => any;
    render(): React.JSX.Element;
}
export {};
