import type { Dispatch } from '../../../types.js'; import type { Snippet } from 'svelte'; import type { HTMLButtonAttributes } from 'svelte/elements'; /** * Button component with variant system and action dispatch pattern. * * @packageDocumentation * * @example * ```svelte * * * * * * ``` */ interface ButtonProps extends Omit { /** * Visual variant of the button. */ variant?: 'default' | 'primary' | 'secondary' | 'destructive' | 'outline' | 'ghost' | 'link'; /** * Size of the button. */ size?: 'sm' | 'md' | 'lg' | 'icon'; /** * Disabled state. */ disabled?: boolean; /** * Loading state (shows spinner, disables interaction). */ loading?: boolean; /** * Reducer action to dispatch on click (Composable Architecture pattern). */ action?: Action; /** * Dispatch function from store (required if action is provided). */ dispatch?: Dispatch; /** * Additional CSS classes. */ class?: string; /** * Button content. */ children: Snippet; } declare function $$render(): { props: ButtonProps; exports: {}; bindings: ""; slots: {}; events: {}; }; declare class __sveltets_Render { props(): ReturnType>['props']; events(): ReturnType>['events']; slots(): ReturnType>['slots']; bindings(): ""; exports(): {}; } interface $$IsomorphicComponent { new (options: import('svelte').ComponentConstructorOptions['props']>>): import('svelte').SvelteComponent['props']>, ReturnType<__sveltets_Render['events']>, ReturnType<__sveltets_Render['slots']>> & { $$bindings?: ReturnType<__sveltets_Render['bindings']>; } & ReturnType<__sveltets_Render['exports']>; (internal: unknown, props: ReturnType<__sveltets_Render['props']> & {}): ReturnType<__sveltets_Render['exports']>; z_$$bindings?: ReturnType<__sveltets_Render['bindings']>; } declare const Button: $$IsomorphicComponent; type Button = InstanceType>; export default Button; //# sourceMappingURL=Button.svelte.d.ts.map