import { default as React, ReactNode } from 'react';
type PopoverFlowContextType = {
    currentStep: number;
    totalSteps: number;
    next: () => void;
    back: () => void;
    dismiss: () => void;
    registerStep: (step: number) => void;
    unregisterStep: (step: number) => void;
    separatorText: string;
    stepText: string;
    backLabel: string;
    nextLabel: string;
    finishLabel: string;
    openDelay: number;
};
export declare const usePopoverFlow: () => PopoverFlowContextType;
export declare const useOptionalPopoverFlow: () => PopoverFlowContextType | null;
export type PopoverFlowProps = {
    /**
     * Child components, typically multiple Popover components with step numbers.
     */
    children: ReactNode;
    /**
     * The step number to show when the flow starts.
     * @default 1
     */
    initialStep?: number;
    /**
     * Callback fired when the user completes the last step of the flow.
     */
    onComplete?: () => void;
    /**
     * Callback fired when the user dismisses the flow before completing it.
     */
    onDismiss?: () => void;
    /**
     * Text used as separator in the step indicator (e.g., "of" in "1 of 3").
     */
    separatorText: string;
    /**
     * Text label for "Step" in the step indicator.
     */
    stepText: string;
    /**
     * Label for the back navigation button.
     */
    backLabel: string;
    /**
     * Label for the next navigation button.
     */
    nextLabel: string;
    /**
     * Label for the finish button on the last step.
     */
    finishLabel: string;
    /**
     * Delay in milliseconds before opening the next popover in the flow.
     * @default 0
     */
    openDelay?: number;
};
export declare const PopoverFlow: ({ children, initialStep, onComplete, onDismiss, separatorText, stepText, backLabel, nextLabel, finishLabel, openDelay, }: PopoverFlowProps) => React.JSX.Element;
export {};
//# sourceMappingURL=popover-flow.d.ts.map