declare enum ButtonVariant { primary = "primary", secondary = "secondary", text = "text", outline = "outline" } declare enum ButtonSize { small = "small", normal = "normal", large = "large" } interface GetButtonStyleParameters { variant: `${ButtonVariant}`; } interface GetButtonSizeParameters { size: `${ButtonSize}`; } /** * Returns the class name to style a button with the given options. This can be * used to for generating the right CSS class combination for plain DOM buttons, * but it should be used sparingly. */ export declare function getButtonClassName({ variant, size, }?: Partial): string; import type { Snippet } from 'svelte'; import type { HTMLButtonAttributes } from 'svelte/elements'; interface ButtonProps extends HTMLButtonAttributes { variant?: `${ButtonVariant}`; size?: `${ButtonSize}`; /** * The content of the button. Only used if a custom button is not provided. */ children?: Snippet; /** * Allows the caller to render a custom element instead of the default button. * The snippet is passed the CSS class(es) that would be applied to the button. */ custom?: Snippet<[string]>; } declare const Button: import("svelte").Component; type Button = ReturnType; export default Button;