import type { AriaLabelingProps } from '../../core/types/a11y-props.js'; import type { BehaviorTrackingProps } from '../../core/types/behavior-tracking-props.js'; import type { DataTestId } from '../../core/types/data-props.js'; import type { MaskingProps } from '../../core/types/masking-props.js'; import type { StylingProps } from '../../core/types/styling-props.js'; import type { WithChildren } from '../../core/types/with-children.js'; /** * Accepted properties for Microguide * @public */ export interface MicroguideProps extends WithChildren, AriaLabelingProps, DataTestId, MaskingProps, StylingProps, BehaviorTrackingProps { /** * Whether the Microguide is currently shown or not. Has to be controlled by the consumer. */ open: boolean; /** * Placement of the Microguide. * @defaultValue 'bottom-right' */ placement?: 'bottom-right' | 'bottom-left' | 'top-right' | 'top-left'; /** * Callback fired when closing the Microguide. * Indicates the current step (zero-based) when closing and whether the Microguide was finished (i.e. closed in the last step). * @param currentStep - The currently active step when closing. * @param finished - Whether the guide was closed in the last step. */ onClose: (currentStep: number, finished: boolean) => void; /** * Callback fired when the user navigates between steps. Indicates the target step (zero-based). * @param step - The step that the user navigated to. */ onStepChange?: (step: number) => void; } /** * The `Microguide` supports the onboarding of new users, as well as the introduction of new features to existing users. * It can have one or multiple steps, each of which has three optional slots: `Title`, `Visual` and `Content`. * @public */ export declare const Microguide: ((props: MicroguideProps & import("react").RefAttributes) => import("react").ReactElement | null) & { Step: { ({ children }: import("react").PropsWithChildren): import("react/jsx-runtime").JSX.Element; displayName: string; }; Title: { (props: import("../index.js").TitleProps): import("react/jsx-runtime").JSX.Element; displayName: string; }; Visual: { (props: import("../index.js").VisualProps): import("react/jsx-runtime").JSX.Element; displayName: string; }; Content: { (props: import("../index.js").ContentProps): import("react/jsx-runtime").JSX.Element; displayName: string; }; };