import React, { PureComponent } from 'react';
import { ImageStyle, ImageURISource, StyleProp, TextStyle, ViewStyle } from 'react-native';
export interface SwatchStyle {
    colorContainerStyle?: StyleProp<ViewStyle>;
    selectedColorContainerStyle?: StyleProp<ViewStyle>;
    disabledColorContainerStyle?: StyleProp<ViewStyle>;
    colorStyle?: StyleProp<ViewStyle>;
    selectedColorStyle?: StyleProp<ViewStyle>;
    disabledColorStyle?: StyleProp<ViewStyle>;
    textContainerStyle?: StyleProp<ViewStyle>;
    selectedTextContainerStyle?: StyleProp<ViewStyle>;
    disabledTextContainerStyle?: StyleProp<ViewStyle>;
    textStyle?: StyleProp<TextStyle>;
    selectedTextStyle?: StyleProp<TextStyle>;
    disabledTextStyle?: StyleProp<TextStyle>;
    imageContainerStyle?: StyleProp<ViewStyle>;
    selectedImageContainerStyle?: StyleProp<ViewStyle>;
    disabledImageContainerStyle?: StyleProp<ViewStyle>;
    imageStyle?: StyleProp<ImageStyle>;
    selectedImageStyle?: StyleProp<ImageStyle>;
    disabledImageStyle?: StyleProp<ImageStyle>;
}
export interface SwatchProps extends SwatchStyle {
    color?: string;
    value?: string;
    name?: string;
    image?: ImageURISource;
    index: number;
    selected: boolean;
    disabled?: boolean;
    onSelect: (swatch: SwatchProps) => void;
    render?: (swatch: SwatchProps) => React.ReactNode;
}
export declare class Swatch extends PureComponent<SwatchProps> {
    _renderTouchable(style: StyleProp<ViewStyle>, child: JSX.Element): JSX.Element;
    _renderColor(): JSX.Element;
    _renderImage(): React.ReactNode;
    _renderText(): JSX.Element;
    render(): React.ReactNode;
}
