import React, { PureComponent } from 'react';
import { ImageURISource, StyleProp, TextStyle, ViewStyle } from 'react-native';
export interface StepperProps {
    format?: 'horizontalCenter' | 'horizontalLeft' | 'vertical';
    onChange?: (count: number) => void;
    stepperStyle?: StyleProp<ViewStyle>;
    count?: number;
    countUpperLimit?: number;
    counterStyle?: StyleProp<TextStyle>;
    editable?: boolean;
    prefix?: string;
    renderText?: (text: string, style: StyleProp<TextStyle>, value: number) => React.ReactNode;
    onDecreaseButtonPress: (count: number) => void;
    decreaseButtonImage?: ImageURISource;
    renderDecreaseButton?: (count: number, handlePress: () => void) => React.ReactNode;
    onIncreaseButtonPress: (count: number) => void;
    increaseButtonImage?: ImageURISource;
    renderIncreaseButton?: (count: number, handlePress: () => void) => React.ReactNode;
}
export interface StepperState {
    count: number;
}
export declare class Stepper extends PureComponent<StepperProps, StepperState> {
    static defaultProps: Partial<StepperProps>;
    private readonly kButtonTouchabilityOpacity;
    constructor(props: StepperProps);
    handleDecreasePress: () => void;
    handleIncreasePress: () => void;
    renderDecreaseButton: (style?: {}) => {} | null | undefined;
    renderIncreaseButton: (style?: {}) => {} | null | undefined;
    renderHorizontalCenter: (counterText: string, counterStyle: StyleProp<TextStyle>, stepperStyle: StyleProp<ViewStyle>) => JSX.Element;
    renderHorizontalLeft: (counterText: string, counterStyle: StyleProp<TextStyle>, stepperStyle: StyleProp<ViewStyle>) => JSX.Element;
    renderVertical: (counterText: string, counterStyle: StyleProp<TextStyle>, stepperStyle: StyleProp<ViewStyle>) => JSX.Element;
    render(): JSX.Element;
    private renderText;
    private onTextChange;
}
