import type { SkfIcon } from '@components/icon/icon.component.js'; import '@components/icon/icon.js'; import '@components/loader/loader.js'; import { SkfElement } from '@internal/components/skf-element.js'; import { type CSSResultGroup, type PropertyValues } from 'lit'; /** * Component to be used in forms or for interactivity * * @slot - The Primary content * * @tagname skf-button */ export declare class SkfButton extends SkfElement { static styles: CSSResultGroup; /** @internal */ private _transitionOptions; /** If true, gives destructive appearance. **Notice!** Only applicable if `variant` is `primary`. */ destructive: boolean; /** If true, removes border */ disabled: boolean; /** 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']; /** If provided, determines the positioning of the icon in relation to the text */ iconPosition?: 'left' | 'right'; /** If true, hides text & icon and shows loading indicator. **Notice!** Only applicable if `variant` is `primary`. */ loading: boolean; /** If provided, displays an alternative size */ size: 'sm' | 'md' | 'lg'; /** If provided, changes the button type */ /** @type { 'button' | 'submit' | 'reset' } */ type: HTMLButtonElement['type']; /** If provided, alters the appearance */ variant: 'primary' | 'secondary'; /** @internal */ private _loaderVisible; /** @internal */ private $loader?; /** @internal */ private $body?; protected firstUpdated(_changedProperties: PropertyValues): void; attributeChangedCallback(name: string, _old: string | null, value: string | null): void; private _showLoader; private _hideLoader; /** @internal */ private _renderIcon; render(): import("lit").TemplateResult<1>; }