import { type Component, type Snippet } from 'svelte'; import type { TooltipProps } from '../tooltip/types.js'; import type { ButtonType, ButtonVariant } from './types.js'; interface Props { /** * Button type for form submission */ type?: ButtonType; /** * Visual variant of the button */ variant?: ButtonVariant; /** * Whether the button is disabled */ disabled?: boolean; /** * Whether to show loading state */ loading?: boolean; /** * Button text content */ text?: string; /** * Left icon component */ icon?: Component; /** * Right icon component */ rightIcon?: Component; /** * Icon color (defaults to currentColor) */ iconColor?: string; /** * Icon size */ iconSize?: string; /** * Custom padding override */ padding?: string; /** * Additional CSS classes */ class?: string; /** * Loading text override */ loadingText?: string; /** * Whether button should take full width */ fullWidth?: boolean; /** * Tooltip configuration object with all tooltip props */ tooltip?: Partial; /** * Whether button is in invalid state */ invalid?: boolean; /** * Custom styles */ style?: string; /** * ARIA label for accessibility */ ariaLabel?: string; /** * Custom content snippet */ children?: Snippet; /** * Click event handler */ onclick?: (event: MouseEvent) => void; } declare const Button: Component; type Button = ReturnType; export default Button;