import React from 'react';
import { BoxProps, Factory, StylesApiProps } from '@mantine/core';
import { OnboardingTourController, type OnboardingTourOptions, type OnboardingTourStep } from './hooks/use-onboarding-tour/use-onboarding-tour';
import { OnboardingTourFocusReveal, OnboardingTourFocusRevealProps } from './OnboardingTourFocusReveal/OnboardingTourFocusReveal';
import { OnboardingTourPopoverContent, type OnboardingTourPopoverContentBaseProps } from './OnboardingTourPopoverContent';
import { OnboardingTourPopoverContentStylesNames } from './OnboardingTourPopoverContent/OnboardingTourPopoverContent';
import { OnboardingTourTarget } from './OnboardingTourTarget/OnboardingTourTarget';
export type OnboardingTourStylesNames = OnboardingTourPopoverContentStylesNames;
export interface OnboardingTourBaseProps extends OnboardingTourOptions, Omit<OnboardingTourPopoverContentBaseProps, 'tourController'> {
    tour: OnboardingTourStep[];
    /** Controlled started state */
    started: boolean;
    /** Props passed to FocusReveal */
    focusRevealProps?: OnboardingTourFocusRevealProps | ((tourController: OnboardingTourController) => OnboardingTourFocusRevealProps);
    /** Child elements */
    children: React.ReactNode;
}
export interface OnboardingTourProps extends BoxProps, OnboardingTourBaseProps, StylesApiProps<OnboardingTourFactory> {
}
export type OnboardingTourFactory = Factory<{
    props: OnboardingTourProps;
    ref: HTMLDivElement;
    stylesNames: OnboardingTourStylesNames;
    staticComponents: {
        FocusReveal: typeof OnboardingTourFocusReveal;
        PopoverContent: typeof OnboardingTourPopoverContent;
        Target: typeof OnboardingTourTarget;
    };
}>;
export declare const defaultProps: Partial<OnboardingTourProps>;
export declare function OnboardingTour(_props: OnboardingTourProps): React.JSX.Element;
export declare namespace OnboardingTour {
    var displayName: string;
    var classes: any;
    var FocusReveal: typeof OnboardingTourFocusReveal;
    var PopoverContent: import("@mantine/core").MantineComponent<{
        props: import("./OnboardingTourPopoverContent").OnboardingTourPopoverContentProps;
        ref: HTMLDivElement;
        stylesNames: OnboardingTourPopoverContentStylesNames;
    }>;
    var Target: typeof OnboardingTourTarget;
}
