import type { ReactNode, Ref } from 'react';
import type { ButtonProps } from '../Button';
import type { BaseProps, ForwardRefForwardPropsComponent, TestIdProp } from '../../types';
export interface LinkProps extends BaseProps, TestIdProp {
    /** Text or content for the Link. */
    children: ReactNode;
    /** URL or DOM id to navigate to. */
    href: string;
    /**
     * Controls the styling of the Link.
     * @default 'link'
     */
    variant?: ButtonProps['variant'];
    /**
     * Hides new tab icon which appears for links with target="_blank".
     * @default false
     */
    hideNewTabIcon?: boolean;
    /**
     * Set the Icon prop to `true` if you're using just an Icon in your Link. Make sure to pass an Icon as children if `true`.
     * @default false
     */
    icon?: ButtonProps['icon'];
    /**
     * Determines if the Link should render a popover when focused or hovered over.
     * @default false
     */
    previewable?: boolean;
    /** Callback function that is run when the preview popover is interacted with. */
    onPreview?: (e: {
        href: string;
    }) => void;
    /** Specifies where to open the link href. */
    target?: string;
    /** Ref for the wrapping element. */
    ref?: Ref<HTMLAnchorElement>;
}
export declare const StyledLinkPopover: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {
    preview: boolean;
}>> & string;
export declare const StyledLinkPopoverBtn: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<Omit<Omit<import("../Button/BareButton").BareButtonProps, "ref"> & import("react").RefAttributes<HTMLAnchorElement | HTMLButtonElement> & import("../../types").ForwardProps, "ref"> & {
    ref?: ((instance: HTMLAnchorElement | HTMLButtonElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLAnchorElement | HTMLButtonElement> | null | undefined;
}, never>> & string & Omit<ForwardRefForwardPropsComponent<import("../Button/BareButton").BareButtonProps>, keyof import("react").Component<any, {}, any>>;
export declare const StyledLinkPreviewPopoverText: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
export declare const StyledLinkPreviewPopoverBtn: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<Omit<Omit<import("../Button/BareButton").BareButtonProps, "ref"> & import("react").RefAttributes<HTMLAnchorElement | HTMLButtonElement> & import("../../types").ForwardProps, "ref"> & {
    ref?: ((instance: HTMLAnchorElement | HTMLButtonElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLAnchorElement | HTMLButtonElement> | null | undefined;
}, never>, never>> & string;
export declare const StyledLink: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<Omit<Omit<ButtonProps, "ref"> & import("react").RefAttributes<HTMLAnchorElement | HTMLButtonElement> & import("../../types").ForwardProps, "ref"> & {
    ref?: ((instance: HTMLAnchorElement | HTMLButtonElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLAnchorElement | HTMLButtonElement> | null | undefined;
}, never>> & string & Omit<ForwardRefForwardPropsComponent<ButtonProps>, keyof import("react").Component<any, {}, any>>;
declare const _default: ForwardRefForwardPropsComponent<LinkProps> & {
    getTestIds: (testIdProp?: TestIdProp["testId"]) => import("../../types").TestIdsRecord<readonly ["preview-popover", "preview", "new-tab"]>;
};
export default _default;
//# sourceMappingURL=Link.d.ts.map