import { AnchorHTMLAttributes, Ref, ReactElement, ReactNode, PureComponent } from 'react';
import PropTypes from 'prop-types';
import { CombinePropsAndAttributes } from '../../helpers';
import { AlignSide, AlignSideVariant } from '../common/types';
interface ISelfProps {
    elementRef?: Ref<any>;
    icon?: ReactElement<any>;
    flexIcon?: boolean;
    alignIcon?: AlignSide;
    rel?: string;
    target?: string;
    linkElement?: any;
    linkElementCustomProps?: {
        [prop: string]: any;
    };
    children?: ReactNode;
}
export declare type IProps = CombinePropsAndAttributes<ISelfProps, AnchorHTMLAttributes<HTMLAnchorElement>>;
export default class Link extends PureComponent<IProps> {
    static propTypes: {
        elementRef: PropTypes.Requireable<(...args: any[]) => any>;
        icon: PropTypes.Requireable<PropTypes.ReactElementLike>;
        flexIcon: PropTypes.Requireable<boolean>;
        alignIcon: PropTypes.Requireable<AlignSide>;
        rel: PropTypes.Requireable<string>;
        target: PropTypes.Requireable<string>;
        children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
        linkElement: PropTypes.Requireable<any>;
        linkElementCustomProps: PropTypes.Requireable<object>;
    };
    static defaultProps: {
        flexIcon: boolean;
        alignIcon: AlignSideVariant;
        linkElement: string;
        linkElementCustomProps: {};
    };
    render(): JSX.Element;
}
export {};
//# sourceMappingURL=Link.d.ts.map