/** * Button Component * Maps ButtonDSL to MUI Button * * Note: All props are already processed by ComponentRenderer: * - I18n translation completed * - Expressions evaluated * - DSL objects rendered to ReactNode */ import type { ReactNode, CSSProperties } from 'react'; import type { ButtonType, ButtonVariant, ColorPalette, ComponentSize, IconPosition } from '@galaxy-dev/metadsl-core'; /** * Button component props (adapter layer) * * These props are already processed by ComponentRenderer: * - label: I18nValue → ReactNode (translated & rendered) * - loading: Expression | boolean → boolean (evaluated) * - disabled: Expression | boolean → boolean (evaluated) */ export interface ButtonProps { /** Button label (already translated and rendered) */ label?: ReactNode; /** Button type (HTML button type attribute) */ type?: ButtonType; /** Variant */ variant?: ButtonVariant; /** Color */ color?: ColorPalette; /** Size */ size?: ComponentSize; /** Icon name */ icon?: string; /** Icon position */ iconPosition?: IconPosition; /** Loading state (already evaluated) */ loading?: boolean; /** Disabled state (already evaluated) */ disabled?: boolean; /** onClick event handler name or expression */ onClick?: string; /** CSS class name */ className?: string; /** Inline styles */ style?: CSSProperties; /** Children */ children?: ReactNode; } export declare function Button({ label, type, variant, color, size, icon, iconPosition, loading, disabled, onClick, className, style, children, }: ButtonProps): import("react/jsx-runtime").JSX.Element; export declare namespace Button { var handlesOwnDisabled: boolean; } //# sourceMappingURL=Button.d.ts.map