import { PureComponent } from 'react'; import { ViewStyle, TextStyle } from 'react-native'; import { WithThemeStyles } from '../theme'; import { LinearGradientProps } from 'react-native-linear-gradient'; declare type TypeName = 'plain' | 'primary' | 'success' | 'warning' | 'danger'; declare type Size = 'small' | 'big' | 'full'; export interface ButtonProps extends WithThemeStyles, Partial { size?: Size; type?: TypeName; disabled?: boolean; loading?: boolean; onPress?: Function; style?: ViewStyle; textStyle?: TextStyle; } export default class Button extends PureComponent { static defaultProps: { type: string; }; constructor(props: ButtonProps); handleButtonClick: () => void; getExtraStyle: () => any; getExtraTextStyle: () => { color: any; lineHeight: any; } & TextStyle; renderContent: (styles: ButtonStyles) => JSX.Element; render(): JSX.Element; } interface ButtonStyles { container: ViewStyle; linearWrapper: ViewStyle; textButton: TextStyle; } export {};