import { PropertyValues } from "lit"; import { FRoot } from "../../mixins/components/f-root/f-root"; import { FIcon } from "../f-icon/f-icon"; import { FCounter } from "../f-counter/f-counter"; declare const variants: readonly ["round", "curved", "block"]; declare const categories: readonly ["fill", "outline", "transparent", "packed"]; declare const sizes: readonly ["large", "medium", "small", "x-small"]; export type FIconButtonVariant = (typeof variants)[number]; export type FIconButtonType = (typeof categories)[number]; export type FIconButtonSize = (typeof sizes)[number]; export type FIconButtonState = "primary" | "danger" | "warning" | "success" | "neutral" | "inherit" | `custom, ${string}`; export declare class FIconButton extends FRoot { /** * css loaded from scss file */ static styles: import("lit").CSSResult[]; /** * @attribute local state for managing custom fill. */ fill: string; /** * @attribute local state for managing input class. */ iconInputClass: boolean; /** * @attribute Icon property defines what icon will be displayed on the icon. It can take the icon name from a library , any inline SVG or any URL for the image. */ icon: string; /** * @attribute Variants are various representations of an icon button. For example an icon button can be round, curved or block. */ variant?: FIconButtonVariant; /** * @attribute Type of f-icon-button */ category?: FIconButtonType; /** * @attribute Size of f-icon-button */ size?: FIconButtonSize; /** * @attribute Size of f-icon-button */ state?: FIconButtonState; /** * @attribute Counter property enables a counter on the button. */ counter?: string; /** * @attribute Loader icon replaces the content of the button . */ loading?: boolean; /** * @attribute The disabled attribute can be set to keep a user from clicking on the button. */ disabled?: boolean; /** * icon element reference */ iconElement: FIcon; /** * icon element reference */ counterElement?: FCounter; /** * compute counter size based on button size */ get counterSize(): "small" | "medium" | "large" | undefined; /** * apply inline styles to shadow-dom for custom fill. */ applyStyles(): string; /** * validation for all atrributes */ validateProperties(): void; render(): import("lit-html").TemplateResult<1>; protected updated(changedProperties: PropertyValues): void; } declare global { interface HTMLElementTagNameMap { "f-icon-button": FIconButton; } } export {};