import { PureComponent } from 'react';
import { ImageSourcePropType, ImageStyle, StyleProp, TextStyle, TouchableHighlightProperties, ViewStyle } from 'react-native';
import { palette } from '../styles/variables';
import { stylesSize } from '../styles/Button';
export interface ButtonProps extends Pick<TouchableHighlightProperties, 'hitSlop'> {
    title: string;
    accessibilityLabel?: string;
    style?: StyleProp<ViewStyle>;
    onPress: () => void;
    onLongPress?: () => void;
    titleStyle?: StyleProp<TextStyle>;
    underlayColor?: string;
    icon?: ImageSourcePropType;
    iconStyle?: StyleProp<ImageStyle>;
    viewStyle?: StyleProp<ViewStyle>;
    palette?: typeof palette;
    color?: keyof typeof palette;
    size?: keyof typeof stylesSize;
    light?: boolean;
    link?: boolean;
    disabled?: boolean;
    loading?: boolean;
    full?: boolean;
}
export interface ButtonState {
    palette: any;
}
export declare class Button extends PureComponent<ButtonProps, ButtonState> {
    state: ButtonState;
    render(): any;
    private renderButtonInner;
}
