import React from 'react'; import { StyleProp, ViewStyle, PressableProps, PressableStateCallbackType } from 'react-native'; import { Ux4gButtonVariant, Ux4gIconProp } from './Button'; export interface Ux4gIconButtonProps extends Omit { /** Icon element or callback (`({ color, size }) => ReactNode`) */ icon: Ux4gIconProp; /** Whether the icon button is currently in a loading state. When `true`, displays `` instead of icon. Defaults to `false`. */ isLoading?: boolean; /** Button style variant (`'primary' | 'secondary' | 'outline' | 'ghost'`). Defaults to `'primary'`. */ variant?: Ux4gButtonVariant; /** Square width and height dimension in points. Defaults to `40`. */ size?: number; /** Whether the icon button is interactive. Defaults to `true`. */ enabled?: boolean; /** Direct override for background color */ backgroundColor?: string; /** Direct override for icon foreground color */ contentColor?: string; /** Direct override for border color */ borderColor?: string; /** Direct override for corner radius */ borderRadius?: number; /** Elevation shadow for Android / shadow style for iOS */ elevation?: number; /** Style override for button container */ style?: StyleProp | ((state: PressableStateCallbackType) => StyleProp); } export declare const Ux4gIconButton: React.FC; //# sourceMappingURL=IconButton.d.ts.map