import { CSSProperties, PropsWithChildren, HTMLAttributes } from 'react';
import { PLACEMENT } from '../../values/Placement';
import { TEXT_ALIGNMENT } from '../../values/TextAlignment';
import { ObjectValues } from '../../utils/ObjectValues';
import { RefComponent } from '../../utils/RefComponent';
declare const STYLE_MAP: {
    readonly STYLE_DEFAULT: "default";
    readonly STYLE_ONBOARDING: "onboarding";
};
declare const TEXT_ALIGNMENT_MAP: {
    readonly TEXT_ALIGNMENT_LEFT: "left";
    readonly TEXT_ALIGNMENT_CENTER: "center";
    readonly TEXT_ALIGNMENT_RIGHT: "right";
};
export type TooltipWidth = 'auto' | 100 | 150 | 200 | 250 | 300 | 350 | 400 | 450 | 500;
export type TooltipProps = {
    /**
     * An HTML id attribute, necessary for accessibility.
     */
    id?: string;
    /**
     * Sets the direction the Tooltip is positioned towards. This is generally provided by the
     * OverlayTrigger component positioning the tooltip.
     *
     * @default 'bottom'
     */
    placement?: ObjectValues<typeof PLACEMENT>;
    /**
     * Defines the position of the text content.
     *
     * Possible values are:
     *
     * - `'center'`
     * - `'left'`
     * - `'right'`
     *
     * @default 'center'
     */
    textAlignment?: ObjectValues<typeof TEXT_ALIGNMENT>;
    /**
     * Defines the look of the tooltip.
     * Possible values are: `default` and `onboarding`
     *
     * @default 'default'
     */
    tooltipStyle?: ObjectValues<typeof STYLE_MAP>;
    /**
     * Defines the width of 'the tooltip.
     * Possible values are:
     *
     * - `'auto'`
     * - `100`
     * - `150`
     * - `200`
     * - `250`
     * - `300`
     * - `350`
     * - `400`
     * - `450`
     * - `500`
     */
    width?: TooltipWidth;
    /**
     * Render Tooltips on mobile devices.
     *
     * @default false
     */
    allowOnTouch?: boolean;
    /**
     * Additional props assigned to the arrow element. Internally used.
     */
    arrowProps?: Record<string, unknown>;
    /**
     * Additional style properties assigned to the wrapper element.
     */
    style?: CSSProperties;
    /**
     * Additional classes to be set on the wrapper element.
     */
    className?: string;
    /**
     * Additional classes to be set on the inner element.
     */
    innerClassName?: string;
} & Omit<HTMLAttributes<HTMLDivElement>, 'id' | 'style' | 'className'>;
export type TooltipType = RefComponent<PropsWithChildren<TooltipProps>> & typeof STYLE_MAP & typeof PLACEMENT & typeof TEXT_ALIGNMENT_MAP;
declare const Tooltip: TooltipType;
export default Tooltip;
