import React, { type ReactNode, type Ref } from 'react';
import { type RouterLinkComponentProps } from '@atlaskit/app-provider';
import { type BoxProps } from './box';
export type LinkProps<RouterLinkConfig extends Record<string, any> = never> = RouterLinkComponentProps<RouterLinkConfig> & Omit<BoxProps<'a'>, 'href' | 'as' | 'children' | 'style'> & {
    /**
     * `children` should be defined to ensure links have text
     */
    children: ReactNode;
};
declare const Link: <RouterLinkConfig extends Record<string, any> = never>({ href, children, backgroundColor, padding, paddingBlock, paddingBlockStart, paddingBlockEnd, paddingInline, paddingInlineStart, paddingInlineEnd, testId, xcss: xcssStyles, target, rel, ...htmlAttributes }: LinkProps<RouterLinkConfig>, ref: Ref<HTMLAnchorElement>) => JSX.Element;
/**
 * __UNSAFE_LINK__
 *
 * @internal Still under development. Do not use.
 *
 * A Link is a primitive component that renders an `<a>` anchor. It utilizes
 * the configured router link component in the AppProvider if set.
 *
 * - [Examples](https://atlassian.design/components/primitives/link/examples)
 * - [Code](https://atlassian.design/components/primitives/link/code)
 * - [Usage](https://atlassian.design/components/primitives/link/usage)
 */
declare const UNSAFE_LINK: <RouterLinkConfig extends Record<string, any> = never>(props: RouterLinkComponentProps<RouterLinkConfig> & Omit<BoxProps<"a">, "style" | "children" | "as" | "href"> & {
    /**
     * `children` should be defined to ensure links have text
     */
    children: ReactNode;
} & {
    ref?: React.Ref<HTMLAnchorElement> | undefined;
}) => ReturnType<typeof Link>;
export default UNSAFE_LINK;
