import React from 'react'; import { TextStyle, ViewStyle } from 'react-native'; export interface ButtonStyles { root: ViewStyle; primary: ViewStyle; secondary: ViewStyle; default: ViewStyle; link: ViewStyle; fullWidth: ViewStyle; text: TextStyle; primaryText: TextStyle; secondaryText: TextStyle; defaultText: TextStyle; linkText: TextStyle; } export interface ButtonProps { [key: string]: any; children?: React.ReactNode; color?: 'primary' | 'secondary' | 'link' | 'default'; /** * Callback function fired when button is pressed. */ onPress?: (event?: any) => any; /** * If true, renders a disabled button. */ disabled?: boolean; /** * If true, button is generated with 100% width of the container. */ fullWidth?: boolean; /** * If true, shows active state of the button. */ active?: boolean; /** * The size of the button. */ size?: 'small' | 'medium' | 'large'; /** * Button Styles */ styles?: ButtonStyles; /** * Used to locate this view in end-to-end tests. */ testID?: string; } /** * A basic button component that should render nicely on any platform. Supports * a minimal level of customization. */ export declare const Button: { (props: ButtonProps): React.JSX.Element; displayName: string; };