import React from 'react'; import { type ComposableProps } from '../../../lib/slot'; import { IconName } from '../Icons'; /** * ButtonIcon component props * * @public */ export interface ButtonIconProps extends Omit, 'children'> { /** * Icon name from FT Design System icon library or custom React component * Can be an IconName string or a custom React component */ icon?: IconName | React.ReactNode; /** * Icon size (only applies when icon is IconName string) */ iconSize?: number; /** * Custom className for icon wrapper (only applies when icon is IconName string) */ iconClassName?: string; /** * Icon content (for custom icons) */ children?: React.ReactNode; } /** * ButtonIcon Component * * A composable icon wrapper for buttons. * Can be used within Button or standalone with asChild. * * @public * * @example * ```tsx * // Within Button * * * // With asChild * * * * ``` * * @remarks * - Supports FT Design System icons or custom React components * - Supports `asChild` prop for custom element composition * - Automatically sizes icons based on button size when used within Button */ export declare const ButtonIcon: React.ForwardRefExoticComponent>; //# sourceMappingURL=ButtonIcon.d.ts.map