import { ReactNode, SyntheticEvent, ComponentType, HTMLProps } from 'react';
import './Link.less';
export declare type LinkProps<P> = {
    /**
     * @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;
    /**
     * Component to render as the root element. Useful when rendering a `Link` as other component or tag.
     * @since 1.9.0
     */
    component?: 'a' | ComponentType<P>;
} & HTMLProps<HTMLElement> & P;
/**
 * FIXME: With the following code all @ts-ignore comments can be removed, but react-docgen cannot parse it.
 * const Link = <P extends any>({ ... }: LinkProps<P>) => {
 */
/**
 * `Link` is used for navigation purposes.
 * @since 1.9.0
 */
declare const Link: <P>({ baseClassName, className, onClick, disabled, pseudo, component, children, onKeyDown, ...other }: LinkProps<P>) => JSX.Element;
export default Link;
