import { type StyleProp } from 'react-native'; import type { PressableProps, ViewStyle } from 'react-native'; import type { IconProps, IconString } from './icon'; import type { IconButtonAppearanceUnion } from './utils/button_colors'; declare const SIZES: { readonly xxxs: "xxxs"; readonly xxs: "xxs"; readonly xs: "xs"; readonly sm: "sm"; readonly md: "md"; readonly lg: "lg"; readonly xl: "xl"; readonly xxl: "xxl"; readonly xxxl: "xxxl"; }; type SizeUnion = (typeof SIZES)[keyof typeof SIZES]; interface IconButtonProps extends PressableProps { /** * Provides context to screen readers about what the button does. * This is required as Icons don't inherently provide non-visual context like text does. */ accessibilityLabel: string; /** * Updates the icon's colors. Defaults to 'neutral'. */ appearance?: IconButtonAppearanceUnion; /** * Styles the icon itself. * `fontSize` allows for a custom size that also responds to the device's text scale. * `color` changes the color of the icon. */ iconStyle?: IconProps['style']; /** * Disables the button and replaces its content with a spinner */ loading?: boolean; /** * Specifies the maximum size a font can reach when allowFontScaling is enabled. */ maxFontSizeMultiplier?: number; /** * Generates an icon from `@planningcenter/icons` */ name: IconString; /** * Changes the overall size of the button and its contents */ size?: SizeUnion; /** * Styles the `Pressable` wrapper */ style?: StyleProp; } export declare function IconButton({ accessibilityLabel, appearance, disabled, iconStyle, loading, maxFontSizeMultiplier, name, size, style, ...props }: IconButtonProps): import("react/jsx-runtime").JSX.Element; export {}; //# sourceMappingURL=icon_button.d.ts.map