import React from 'react';
import type { CSSProperties } from 'react';
import type { TooltipProps } from '@atlaskit/tooltip';
import type { EnabledHandles, HandleAlignmentMethod, HandleHighlight, HandlePositioning, HandleResize, HandleResizeStart, HandleSize, HandleStyles, ResizerAppearance, Snap } from './types';
export type ResizerProps = {
    className?: string;
    enable: EnabledHandles;
    width: number;
    minWidth?: number | string;
    maxWidth?: number | string;
    snap?: Snap;
    snapGap?: number;
    resizeRatio?: number;
    appearance?: ResizerAppearance;
    isHandleVisible?: boolean;
    handleResizeStart: HandleResizeStart;
    handleResize: HandleResize;
    handleResizeStop: HandleResize;
    /**
     * This can be used to override the css class name applied to the resize handle.
     */
    handleClassName?: string;
    /**
     * This is used to override the style of resize handles wrapper.
     */
    handleWrapperStyle?: CSSProperties;
    /**
     * This property is used to override the style of one or more resize handles. Only the axis you specify will have
     * its handle style overriden.
     */
    handleStyles?: HandleStyles;
    /**
     * The handleAlignmentMethod is used in determining the vertical positioning of the resizer handle in relation to its children.
     */
    handleAlignmentMethod?: HandleAlignmentMethod;
    /**
     * The handlePositioning is used to determine the horizontal position of the resizer handle in relation to its children.
     */
    handlePositioning?: HandlePositioning;
    /**
     * The handleSize is used to determine the width/height of the handle element.
     */
    handleSize?: HandleSize;
    /**
     * The handleHighlight is used to determine how the handle looks when the users mouse hovers over the handle element.
     */
    handleHighlight?: HandleHighlight;
    /**
     * The handle can display a tooltip when mouse hovers.
     */
    handleTooltipContent?: TooltipProps['content'];
    /**
     * control if extended resize zone is needed, by default we apply it to the resizer
     */
    needExtendedResizeZone?: boolean;
};
type forwardRefType = {
    getResizerThumbEl: () => HTMLButtonElement | null;
};
declare const _default: React.ForwardRefExoticComponent<ResizerProps & {
    children?: React.ReactNode;
} & React.RefAttributes<forwardRefType>>;
export default _default;
