import type { SkfIcon } from '@components/icon/icon.component.js'; import '@components/icon/icon.js'; import { SkfElement } from '@internal/components/skf-element.js'; import { type CSSResultGroup } from 'lit'; /** * The `` can be used as either a regular link or a link styled semantic button * * @documentation See [InVision DSM](https://skf.invisionapp.com/dsm/ab-skf/4-web-applications/nav/5fa7caf78c01200018354495/folder/619626129069cd5f9510528f) for design principles * * @property {function} onClick - If provided, custom function triggered by click where the second return parameter enables custom routing. * * @slot {string} - The links' main content * * @tagname skf-link */ export declare class SkfLink extends SkfElement { static styles: CSSResultGroup; private _onClick?; /** Specifies semantic element to render - @default "a" */ as: 'button' | 'a'; /** @default "primary" */ color: 'primary' | 'inverse'; /** If true, disables the link */ disabled?: boolean; /** If provided, downloads the url */ download?: string; /** If provided, loads url on click */ href?: string; /** If provided, renders an icon before or after the text @type { "arrowDown" | "arrowDownUp" | "arrowLeft" | "arrowRight" | "arrowUp" | "article" | "artificialIntelligence" | "asset" | "attachment" | "bandCursor" | "bands" | "batteryEmpty" | "batteryFull" | "batteryLow" | "bearingFault" | "book" | "bulb" | "burger" | "cPM" | "calendar" | "calendarBooked" | "calendarEmpty" | "calendarNotBooked" | "calendarRecurring" | "caretDown" | "caretUp" | "caretUpDown" | "chat" | "check" | "checkCircle" | "checkSmall" | "chevronDown" | "chevronLeft" | "chevronRight" | "chevronUp" | "chevronUpDown" | "close" | "closeAllFaults" | "closeFault" | "closeSmall" | "columnGraph" | "comment" | "connection1" | "connection2" | "connection3" | "connection4" | "danger" | "defectFrequencies" | "defectFrequenciesAlternative" | "doubleChevronLeft" | "doubleChevronRight" | "download" | "draft" | "draftFilled" | "draftOutlined" | "dragNDrop" | "drop" | "duplicate" | "edit" | "emailFilled" | "emailOutlined" | "exclamation" | "eye" | "eyeHidden" | "eyeVisible" | "filter" | "forbidden" | "fullScreen" | "fullScreenExit" | "functionalLocation" | "harmonicCursor" | "heatmap" | "hierarchy" | "history" | "historyAlt" | "hourglassFramedFilled" | "hourglassFramedOutlined" | "hourglassOutlined" | "hz" | "iMX" | "image" | "infoCircleFilled" | "infoCircleOutlined" | "integration" | "kebab" | "link" | "listGroup" | "listItem" | "locationPin" | "lock" | "logOut" | "meatballs" | "microphone" | "minus" | "minusSmall" | "noData" | "o" | "openInNew" | "overlayBaseline" | "pDF" | "paper" | "pause" | "pieChart" | "pin" | "play" | "plus" | "powerOff" | "printer" | "proCollect" | "recAction" | "received" | "refresh" | "reorder" | "replace" | "reply" | "rewalkableRoute" | "routes" | "search" | "send" | "sensorA" | "sensorB" | "settings" | "sidebandCursor" | "singleCursor" | "spectrum" | "starFilled" | "starOutlined" | "statusCircle" | "stop" | "structuralVibration" | "sync" | "timewave" | "trash" | "trend" | "trendingUp" | "undo" | "unknownCircle" | "unknownDiamond" | "unlink" | "unlock" | "unscheduledAction" | "upload" | "user" | "viewFull" | "viewHorizontal" | "viewVertical" | "warning" | "warningCircle" | "warningDiamond" | "zoomIn" | "zoomOut" } */ icon?: SkfIcon['name']; /** Position of the icon in relation to the text - @default "left" */ iconPlacement: 'left' | 'right'; /** Specifies the relationship of the target object to the link object - @default "noreferrer noopener" */ rel: string; /** If provided, used on conjunction with onClick property, second argument */ route?: string; /** If true, fills the parents horizontal axis */ stretch?: boolean; /** If provided, specifies where to open the linked document */ target?: '_blank' | '_parent' | '_self' | '_top'; /** Type of button - @default "button" */ type: 'button' | 'submit' | 'reset'; /** If provided, accepts a function that runs on click. Forwards optional route as second argument. */ set onClick(onClickFn: ((event: Event, route?: string) => void) | undefined); get onClick(): ((event: Event, route?: string) => void) | undefined; connectedCallback(): void; /** @internal */ private _assertValidOnClick; /** @internal */ /** retargets click event to host */ private _preprocessOnClick; /** @internal */ private _renderIcon; render(): import("lit").TemplateResult; }