import { ElementType, SyntheticEvent, ReactNode } from 'react';
import { PolymorphicComponentProps } from '../../utils/types';
import './Link.less';
export declare type BaseLinkProps = {
    /**
     * @ignore
     */
    baseClassName?: string;
    /**
     * @ignore
     */
    className?: string;
    /**
     * Content of the link.
     * @since 1.9.0
     */
    children?: ReactNode;
    /**
     * @ignore
     */
    onClick?: (e: SyntheticEvent<HTMLElement>) => void;
    /**
     * Render as disabled.
     * @since 1.9.0
     */
    disabled?: boolean;
    /**
     * Render as pseudolink.
     * @deprecated Not recommended to use
     * @since 1.9.0
     */
    pseudo?: boolean;
};
export declare type LinkProps<Component extends ElementType = 'a'> = {
    /**
     * Component to render as the root element. Useful when rendering a `Link` as other component or tag.
     * @since 0.0.42
     * @type ElementType
     * @default a
     */
    component?: Component;
} & PolymorphicComponentProps<Component, BaseLinkProps>;
/**
 * `Link` is used for navigation purposes.
 * @since 1.9.0
 */
declare const Link: <Component extends ElementType<any> = "a">({ baseClassName, className, onClick, disabled, pseudo, component, children, ...other }: LinkProps<Component>) => JSX.Element;
export default Link;
