import { ComponentPropsWithRef } from 'react';
import { GDSContextValue } from '../theme';
export declare namespace ButtonOrLinkProps {
    interface BaseProps {
        disabled?: boolean | undefined;
        selected?: boolean | undefined;
    }
    interface ClientLinkProps extends BaseProps, Omit<ComponentPropsWithRef<GDSContextValue['clientLink']>, 'type'> {
    }
    interface ExternalLinkProps extends BaseProps, Omit<ComponentPropsWithRef<'a'>, 'type'> {
        href: string;
    }
    interface ButtonProps extends BaseProps, ComponentPropsWithRef<'button'> {
        href?: never;
    }
}
export type ButtonOrLinkProps = ButtonOrLinkProps.ButtonProps | ButtonOrLinkProps.ExternalLinkProps | ButtonOrLinkProps.ClientLinkProps;
/**
 * @internal
 * Renders an element that is either `button` or `a` depending on the presence of an `href`.
 */
export declare const ButtonOrLink: import("react").ForwardRefExoticComponent<(Omit<ButtonOrLinkProps.ClientLinkProps, "ref"> | Omit<ButtonOrLinkProps.ExternalLinkProps, "ref"> | Omit<ButtonOrLinkProps.ButtonProps, "ref">) & import("react").RefAttributes<HTMLButtonElement | HTMLAnchorElement>>;
