import { default as React, ReactNode } from 'react';
import { PopoverBack } from './popover-back';
import { PopoverButton } from './popover-button';
import { PopoverAction, PopoverContent } from './popover-content';
import { PopoverFlow } from './popover-flow';
import { PopoverFooter } from './popover-footer';
import { PopoverNext } from './popover-next';
import { PopoverTrigger } from './popover-trigger';
import type * as RadixPopover from "@radix-ui/react-popover";
export type { PopoverAction };
type BasePopoverProps = RadixPopover.PopoverProps & {
    children: ReactNode;
    className?: string;
};
type StandalonePopoverProps = BasePopoverProps & {
    multistep?: false;
    step?: never;
    disableClickOutside?: boolean;
};
type WalkthroughPopoverProps = BasePopoverProps & {
    multistep: true;
    step: number;
    disableClickOutside?: boolean;
};
export type PopoverProps = StandalonePopoverProps | WalkthroughPopoverProps;
type PopoverCmp<P> = React.FunctionComponent<P> & {
    Back: typeof PopoverBack;
    Button: typeof PopoverButton;
    Content: typeof PopoverContent;
    Flow: typeof PopoverFlow;
    Footer: typeof PopoverFooter;
    Next: typeof PopoverNext;
    Trigger: typeof PopoverTrigger;
};
export declare const Popover: PopoverCmp<PopoverProps>;
//# sourceMappingURL=popover.d.ts.map