import * as React from 'react';
interface Props<C extends React.ReactElement<any>> {
    className?: string;
    /**
     * Where the resize handle is (which also determines the axis along which the element can be
     * resized).
     */
    handlePosition: 'right' | 'top';
    /**
     * Persist and restore the size of the element using this key.
     */
    storageKey: string;
    /**
     * The default size for the element.
     */
    defaultSize: number;
    /**
     * The element that is resizable on its right side.
     */
    element: C;
}
interface State {
    resizing: boolean;
    size: number;
}
/**
 * Wraps an item in a flexbox and makes it resizable.
 */
export declare class Resizable<C extends React.ReactElement<any>> extends React.PureComponent<Props<C>, State> {
    private static STORAGE_KEY_PREFIX;
    private sizeUpdates;
    private subscriptions;
    private containerRef;
    private ghostRef;
    constructor(props: Props<C>);
    private getSize;
    private setSize;
    componentDidMount(): void;
    componentWillUnmount(): void;
    render(): React.ReactNode;
    private setContainerRef;
    private setGhostRef;
    private onMouseDown;
    private onMouseUp;
    private onMouseMove;
}
export {};
//# sourceMappingURL=Resizable.d.ts.map