import { ComponentProps, ReactNode } from 'react';
import { ButtonOrLinkElement, ButtonOrLinkProps } from '../atoms';
import { ComponentCSSPropType } from './tailwind';
export declare namespace ExperimentalNavLinkProps {
    interface BaseProps {
        /** @default "primary" */
        variant?: ComponentCSSPropType<'nav-link', 'variant', 'primary'>;
        /** @default false */
        hideLabel?: ComponentCSSPropType<'nav-link', 'hideLabel', false>;
        iconBefore?: ReactNode;
        /**
         * Defaults to `ArrowUpRightInteractive` if `href` is set and `target` is `_blank`, or to `CaretDownInteractive`
         * if used as a `ExperimentalMenu` trigger.
         */
        iconAfter?: ReactNode;
        /** @default false */
        current?: boolean;
        /**
         * Whether the link should be highlighted when hovered, or while a menu triggered by it is open.
         * Defaults to the closest `ExperimentalNavLink.Group`'s `highlightOnInteraction` if any, otherwise `false`.
         */
        highlightOnInteraction?: boolean;
    }
    type OmittedButtonOrLinkProps = 'disabled';
    interface ButtonProps extends BaseProps, Omit<ButtonOrLinkProps.ButtonProps, OmittedButtonOrLinkProps> {
    }
    interface ExternalLinkProps extends BaseProps, Omit<ButtonOrLinkProps.ExternalLinkProps, OmittedButtonOrLinkProps> {
    }
    interface ClientLinkProps extends BaseProps, Omit<ButtonOrLinkProps.ClientLinkProps, OmittedButtonOrLinkProps> {
    }
}
export type ExperimentalNavLinkProps = ExperimentalNavLinkProps.ButtonProps | ExperimentalNavLinkProps.ExternalLinkProps | ExperimentalNavLinkProps.ClientLinkProps;
export declare const ExperimentalNavLinkRoot: import('react').ForwardRefExoticComponent<ExperimentalNavLinkProps & import('react').RefAttributes<ButtonOrLinkElement>>;
export interface ExperimentalNavLinkGroupProps extends ComponentProps<'div'> {
    /**
     * Whether the currently hovered/open `ExperimentalNavLink` in the group should be highlighted.
     * Unlike `ExperimentalNavLink`'s prop with the same name, this one also animates the highlight with Motion.
     * @default false
     */
    highlightOnInteraction?: boolean;
}
export declare const ExperimentalNavLinkGroup: {
    ({ highlightOnInteraction, className, children, ...props }: ExperimentalNavLinkGroupProps): import("react/jsx-runtime").JSX.Element;
    displayName: string;
};
//# sourceMappingURL=NavLink.parts.d.ts.map