import { type ComponentProps, type ComponentPropsWithoutRef, type ElementType, type ReactNode } from 'react';
import { type VariantProps } from 'class-variance-authority';
import { Toolbar as ToolbarPrimitive, Tooltip as TooltipPrimitive } from 'radix-ui';
import { DropdownMenuRadioGroup } from './dropdown-menu';
import { Tooltip, TooltipTrigger } from './tooltip';
export declare function Toolbar({ className, ...props }: ComponentProps<typeof ToolbarPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
export declare function ToolbarToggleGroup({ className, ...props }: ComponentProps<typeof ToolbarPrimitive.ToolbarToggleGroup>): import("react/jsx-runtime").JSX.Element;
export declare function ToolbarLink({ className, ...props }: ComponentProps<typeof ToolbarPrimitive.Link>): import("react/jsx-runtime").JSX.Element;
export declare function ToolbarSeparator({ className, ...props }: ComponentProps<typeof ToolbarPrimitive.Separator>): import("react/jsx-runtime").JSX.Element;
export declare const toolbarButtonVariants: (props?: ({
    size?: "default" | "sm" | "lg" | "none" | null | undefined;
    variant?: "default" | "outline" | "media" | null | undefined;
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
declare const dropdownArrowVariants: (props?: ({
    size?: "default" | "sm" | "lg" | null | undefined;
    variant?: "default" | "outline" | null | undefined;
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
type ToolbarButtonProps = {
    isDropdown?: boolean;
    pressed?: boolean;
} & Omit<ComponentPropsWithoutRef<typeof ToolbarToggleItem>, 'asChild' | 'value'> & VariantProps<typeof toolbarButtonVariants>;
export declare const ToolbarButton: ({ tooltip, tooltipContentProps, tooltipProps, tooltipTriggerProps, ...props }: TooltipProps<({ children, className, isDropdown, pressed, size, variant, ...props }: ToolbarButtonProps) => import("react/jsx-runtime").JSX.Element>) => import("react/jsx-runtime").JSX.Element;
export declare function ToolbarSplitButton({ className, ...props }: ComponentPropsWithoutRef<typeof ToolbarButton>): import("react/jsx-runtime").JSX.Element;
type ToolbarSplitButtonPrimaryProps = Omit<ComponentPropsWithoutRef<typeof ToolbarToggleItem>, 'value'> & VariantProps<typeof toolbarButtonVariants>;
export declare function ToolbarSplitButtonPrimary({ children, className, size, variant, ...props }: ToolbarSplitButtonPrimaryProps): import("react/jsx-runtime").JSX.Element;
export declare function ToolbarSplitButtonSecondary({ className, size, variant, ...props }: ComponentPropsWithoutRef<'span'> & VariantProps<typeof dropdownArrowVariants>): import("react/jsx-runtime").JSX.Element;
export declare function ToolbarToggleItem({ className, size, variant, ...props }: ComponentProps<typeof ToolbarPrimitive.ToggleItem> & VariantProps<typeof toolbarButtonVariants>): import("react/jsx-runtime").JSX.Element;
export declare function ToolbarGroup({ children, className }: ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
type TooltipProps<T extends ElementType> = {
    tooltip?: ReactNode;
    tooltipContentProps?: Omit<ComponentPropsWithoutRef<typeof TooltipContent>, 'children'>;
    tooltipProps?: Omit<ComponentPropsWithoutRef<typeof Tooltip>, 'children'>;
    tooltipTriggerProps?: ComponentPropsWithoutRef<typeof TooltipTrigger>;
} & ComponentProps<T>;
declare function TooltipContent({ children, className, sideOffset, ...props }: ComponentProps<typeof TooltipPrimitive.Content>): import("react/jsx-runtime").JSX.Element;
export declare function ToolbarMenuGroup({ children, className, label, ...props }: ComponentProps<typeof DropdownMenuRadioGroup> & {
    label?: string;
}): import("react/jsx-runtime").JSX.Element;
export {};
