import type { RouteLocationRaw } from 'vue-router';
import type { Color, Icon } from './types';
export interface MazLinkProps {
    /** The id of the link */
    id?: string;
    /** The title of the link */
    title?: string;
    /**
     * The href of the link
     * @default undefined
     */
    href?: string;
    /** The route location (router-link) of the link */
    to?: RouteLocationRaw;
    /**
     * The color of the link
     * @default 'primary'
     */
    color?: Color;
    /**
     * The target of the link
     * @default '_self'
     * @values '_blank', '_self', '_parent', '_top'
     */
    target?: '_blank' | '_self' | '_parent' | '_top' | string;
    /** The download of the link */
    download?: string;
    /** The rel of the link */
    rel?: string;
    /** The aria-label of the link */
    ariaLabel?: string;
    /** Add an underline to the link */
    underline?: boolean;
    /** Add an underline only on hover */
    underlineOnlyHover?: boolean;
    /**
     * Add an external icon to the link if target is '_blank'
     * @default true
     */
    autoExternal?: boolean;
    /**
     * The name of the icon or component to display on the left of the text
     * `@type` `{string | FunctionalComponent<SVGAttributes> | ComponentPublicInstance | Component}`
     */
    leftIcon?: string | Icon;
    /**
     * The name of the icon or component to display on the right of the text
     * `@type` `{string | FunctionalComponent<SVGAttributes> | ComponentPublicInstance | Component}`
     */
    rightIcon?: string | Icon;
}
declare function __VLS_template(): {
    attrs: Partial<{}>;
    slots: {
        "left-icon"?(_: {}): any;
        default?(_: {}): any;
        "right-icon"?(_: {}): any;
        "external-icon"?(_: {}): any;
    };
    refs: {};
    rootEl: any;
};
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
declare const __VLS_component: import("vue").DefineComponent<MazLinkProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<MazLinkProps> & Readonly<{}>, {
    title: string;
    color: Color;
    leftIcon: string | Icon;
    rightIcon: string | Icon;
    href: string;
    to: RouteLocationRaw;
    id: string;
    target: "_blank" | "_self" | "_parent" | "_top" | string;
    underline: boolean;
    download: string;
    rel: string;
    ariaLabel: string;
    underlineOnlyHover: boolean;
    autoExternal: boolean;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
