import { default as React, ComponentProps, HTMLAttributeAnchorTarget, MouseEventHandler, ReactNode } from 'react';
import { BaseProps } from '../../../libraries/common-types/src/common-types';
export declare const LINK_VARIANT: {
    readonly TEXT: "text";
    readonly STANDALONE: "standalone";
    readonly NAVIGATION: "navigation";
};
export declare const linkVariants: ("text" | "navigation" | "standalone")[];
export type LinkVariant = (typeof LINK_VARIANT)[keyof typeof LINK_VARIANT];
export type LinkProps = Omit<BaseProps<"a">, "onClick" | "target" | "children"> & {
    children: ReactNode;
    /** Disables visited styling */
    disableVisited?: boolean;
    /**
     * This sets a minimum size on the targetable area of the link. Please note
     * it also changes display value to flex, meaning its container will behave
     * like a block element. You can wrap this component in a flex container
     * for additional layout control.
     */
    ensureTargetArea?: boolean;
    /**
     * This will wrap children in an `<a/>` tag and set the `href` accordingly.
     */
    href?: string;
    negative?: boolean;
    /**
     * If `href` is specified, the `onClick` handler will be added to the `<a/>` tag, otherwise on the wrapping `<span/>` tag.
     */
    onClick?: MouseEventHandler<HTMLAnchorElement | HTMLSpanElement>;
    /**
     * If both `rel` and `href` are specified, the `rel` attribute will be added to the `<a/>` tag.
     * The `rel` attribute specifies the relationship between the current document and the linked document.
     * Common values include "noopener", "noreferrer", "nofollow", and "external".
     */
    rel?: ComponentProps<"a">["rel"];
    /**
     * A silent link is intended to wrap an element
     * to make it a link but not add any styling
     * except for the pointer cursor and focus style.
     */
    silent?: boolean;
    /**
     * If both `target` and `href` are specified, the `target` attribute will be added to the `<a/>` tag
     */
    target?: HTMLAttributeAnchorTarget;
    /**
     * Determines if link is displayed on its own line
     * (`"standalone"`) or within the current text content
     * (`"text"`).
     */
    variant: LinkVariant;
};
export declare const Link: {
    ({ ["data-testid"]: dataTestid, children, className, disableVisited, ensureTargetArea, href, negative, onClick, rel, silent, target, variant, ...props }: LinkProps): React.JSX.Element;
    displayName: string;
};
//# sourceMappingURL=link.d.ts.map