/**
 * @jsxRuntime classic
 * @jsx jsx
 */
import React from 'react';
import { type SmartLinkInternalTheme, SmartLinkTheme } from '../../../../../../constants';
import type { ElementProps } from '../../../../components/elements';
import type { AnchorTarget } from '../../../../components/types';
export type BaseLinkElementProps = ElementProps & {
    /**
     * Ref passed into the link <a> element
     */
    anchorRef?: React.Ref<HTMLAnchorElement>;
    /**
     * Determines whether the link should display tooltip on hover.
     */
    hideTooltip?: boolean;
    /**
     * The number of lines that the link text should spread over. Maximum of 2 lines.
     */
    maxLines?: number;
    /**
     * Determines the behaviour when the Link is clicked. By default is used to
     * propagate analytics.
     */
    onClick?: React.EventHandler<React.MouseEvent | React.KeyboardEvent>;
    /**
     * Mouse event to be provided to the link
     */
    onMouseDown?: React.MouseEventHandler;
    /**
     * The href target behaviour of the link.
     */
    target?: AnchorTarget;
    /**
     * The text to display. Overrides the default link text.
     */
    text?: string;
    /**
     * The theme of the link. Can be Black, or Link (default blue URL).
     */
    theme?: SmartLinkTheme | SmartLinkInternalTheme;
    /**
     * The url that the Smart Link should be based upon.
     */
    url?: string;
};
/**
 * A base element that represent an anchor.
 * @internal
 * @param {BaseLinkElementProps} BaseLinkElementProps - The props necessary for the Link element.
 * @see LinkIcon
 */
declare const BaseLinkElement: ({ hideTooltip, maxLines, name, className, size, testId, text, theme, url, onClick, target, anchorRef, }: BaseLinkElementProps) => JSX.Element;
export default BaseLinkElement;
export declare const toLinkProps: (text?: string, url?: string) => Partial<BaseLinkElementProps> | undefined;
