import { ComponentType, ReactNode, RefObject } from 'react';
import { Popover as SparkPopover } from '../popover';
import { PopoverProps } from '../popover/Popover';
import { ContentProps as PopoverContentProps } from '../popover/PopoverContent';
import { TriggerProps as PopoverTriggerProps } from '../popover/PopoverTrigger';
interface TabsPopoverTriggerProps extends Omit<PopoverTriggerProps, 'asChild' | 'children'> {
    'aria-label': string;
    children?: ReactNode;
}
declare const TabsPopoverTrigger: import('react').ForwardRefExoticComponent<Omit<TabsPopoverTriggerProps, "ref"> & import('react').RefAttributes<HTMLButtonElement>>;
declare const TabsPopoverContent: import('react').ForwardRefExoticComponent<Omit<PopoverContentProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
export type TabsPopoverTriggerComponent = typeof TabsPopoverTrigger;
export type TabsPopoverContentComponent = typeof TabsPopoverContent;
export type ConfiguredPopoverComponent = ComponentType<PopoverProps> & Omit<typeof SparkPopover, 'Content' | 'Trigger'> & {
    Content: TabsPopoverContentComponent;
    Trigger: TabsPopoverTriggerComponent;
};
interface PopoverAbstractionProps {
    popoverSide: 'right' | 'bottom';
    popoverTriggerRef: RefObject<HTMLButtonElement | null>;
    children: (Popover: ConfiguredPopoverComponent) => ReactNode;
}
export declare const Popover: {
    ({ popoverSide, popoverTriggerRef, children }: PopoverAbstractionProps): import("react/jsx-runtime").JSX.Element;
    displayName: string;
};
export {};
