import { ButtonVariant } from '@preply/ds-core'; import { GestureResponderEvent } from 'react-native'; import { CommonProps, FCWithChildren } from '../../props/common/types'; import { IconProps } from '../Icon/Icon'; export type ButtonProps = CommonProps & { variant?: ButtonVariant; size?: 'small' | 'medium' | 'large'; fullWidth?: boolean; /** Ignored with `wrapWithText` is `off`, but respected by ButtonText */ wrap?: boolean; assistiveText?: string; disabled?: boolean; busy?: boolean; onPress?: (event: GestureResponderEvent) => void; /** Does not work if `wrapWithText` is `off` */ leadingIcon?: IconProps['name']; /** Does not work if `wrapWithText` is `off` */ trailingIcon?: IconProps['name']; /** Used only for classroom and ghost variants */ selected?: boolean; /** * Whether to wrap each child in `` so it inherits the Button's text styles. * * Set this to `'off'` when passing a View-based component (e.g. ``, ``, * ``) that cannot legally be nested inside `` under the React Native new * architecture (Fabric). * * If you need to render both a View and text with the Button's text styles, look at ButtonText. * * @attention It makes `leadingIcon` and `trailingIcon` props not working. * * @default: `'on'`. */ wrapWithText?: 'on' | 'off'; }; export declare const Button: FCWithChildren; //# sourceMappingURL=Button.d.ts.map