import { PropsWithChildren, ReactNode } from 'react';
import { Options } from '@popperjs/core';
import { TooltipWidth } from '../tooltip/Tooltip';
import { TextAlignment } from '../../values/TextAlignment';
import { Placement } from '../../values/Placement';
export type OnboardingButton = {
    text: string | React.ReactNode;
    onClick?: (event: React.MouseEvent<HTMLButtonElement>) => void;
    iconName?: string;
};
type PopperConfig = Partial<Options>;
export type OnboardingTipProps = {
    /**
     * The ID of the DOM element.
     */
    id?: string;
    /**
     * Indicates whether the onboarding tip is shown.
     *
     * @default false
     */
    show: boolean;
    /**
     * Defines whether to show a close icon.
     *
     * @default true
     */
    showCloseIcon?: boolean;
    /**
     * Define how the text should be aligned.
     *
     * Possible values are:
     *
     * - `left`
     * - `center`
     * - `right`
     *
     * @default 'left'
     */
    textAlignment?: TextAlignment;
    /**
     * The tooltip's width.
     *
     * Possible values are:
     *
     * - `auto`
     * - `100`
     * - `150`
     * - `200`
     * - `250`
     * - `300`
     * - `350`
     * - `400`
     * - `450`
     * - `500`
     */
    width?: TooltipWidth;
    /**
     * Callback function for when the component shall be hidden.
     *
     * @default () => {}
     */
    onHide: VoidFunction;
    /**
     * Changes the z-index.
     *
     * @default false
     */
    useInDialog?: boolean;
    /**
     * Additional classes to be set on the wrapper element.
     */
    className?: string;
    /**
     * The title of the onboarding tip.
     */
    title?: string | ReactNode;
    /**
     * The content of the onboarding tip.
     */
    content?: string | ReactNode;
    /**
     * Prevents onboarding tips from being cut off horizontally at screen borders.
     *
     * @default true
     */
    preventOverflow?: boolean;
    /**
     * A Popper.js config object passed to the underlying popper instance.
     */
    popperConfig?: PopperConfig;
    /**
     * Define how the component should be placed.
     *
     * Possible values are:
     *
     * - `auto-start`
     * - `auto`
     * - `auto-end`
     * - `top-start`
     * - `top`
     * - `top-end`
     * - `right-start`
     * - `right`
     * - `right-end`
     * - `bottom-start`
     * - `bottom`
     * - `bottom-end`
     * - `left-start`
     * - `left`
     * - `left-end`
     *
     * @default 'bottom'
     */
    placement?: Placement;
};
declare const OnboardingTip: {
    (props: PropsWithChildren<OnboardingTipProps>): import("react/jsx-runtime").JSX.Element;
    AUTO_START: "auto-start";
    AUTO: "auto";
    AUTO_END: "auto-end";
    TOP_START: "top-start";
    TOP: "top";
    TOP_END: "top-end";
    BOTTOM_START: "bottom-start";
    BOTTOM: "bottom";
    BOTTOM_END: "bottom-end";
    RIGHT_START: "right-start";
    RIGHT: "right";
    RIGHT_END: "right-end";
    LEFT_START: "left-start";
    LEFT: "left";
    LEFT_END: "left-end";
    TEXT_ALIGNMENT_LEFT: "left";
    TEXT_ALIGNMENT_CENTER: "center";
    TEXT_ALIGNMENT_RIGHT: "right";
};
export default OnboardingTip;
