/// import { ReactNode, ReactElement } from 'react'; import { ViewStyle, TextStyle, StyleProp } from 'react-native'; interface ProcessFooterProps { removeButtonRow?: boolean; hidePreviousButton?: boolean | undefined; previousButtonStyle?: ViewStyle; previousButtonText?: string; previousButtonDisabled?: boolean; onPreviousStep?: () => {}; previousButtonTextStyle?: TextStyle; hideNextButton?: boolean | undefined; nextButtonStyle?: ViewStyle; nextButtonTitle?: string; onNextStep?: () => {}; nextButtonTextStyle?: TextStyle; nextButtonDisabled?: boolean; footerComponent?: ReactNode; } declare const ProcessFooter: ({ removeButtonRow, hidePreviousButton, previousButtonStyle, previousButtonText, previousButtonDisabled, onPreviousStep, previousButtonTextStyle, hideNextButton, nextButtonStyle, nextButtonTitle, onNextStep, nextButtonTextStyle, nextButtonDisabled, footerComponent, }: ProcessFooterProps) => JSX.Element | null; interface StepProps { children?: ReactNode; hide?: boolean; label?: string; labelStyle?: TextStyle | undefined; onPrevious?: (previousStepIndex: number) => {}; onNext?: (nextStepIndex: number) => {}; hideNextButton?: boolean; hidePreviousButton?: boolean; footerComponent?: ReactNode; showFirstStepPreviousButton?: boolean; } declare const Step: ({ children }: StepProps) => JSX.Element; interface StepIconProps { label?: string; labelStyle?: TextStyle; stepNumber?: number; isActiveStep?: boolean; isCompletedStep?: boolean; completedStepIconColor?: string; activeStepIconColor?: string; activeStepNumColor?: string; disabledStepNumColor?: string; completedCheckColor?: string; showLabelAboveSteps?: boolean; } declare const StepIcon: ({ label, labelStyle, stepNumber, isActiveStep, isCompletedStep, completedStepIconColor, activeStepIconColor, activeStepNumColor, disabledStepNumColor, completedCheckColor, showLabelAboveSteps, }: StepIconProps) => JSX.Element; interface ProcessFlowProps extends StepProps, ProcessFooterProps, StepIconProps { children: ReactElement[]; onChangeStep?: (currentStepIndex?: number, nextStepIndex?: number, previousStepIndex?: number) => {} | undefined; onPrevious: (previousStepIndex: number) => {}; onNext: (nextStepIndex: number) => {}; onSubmit?: () => {}; nextButtonText?: string; previousButtonText?: string; finishButtonText?: string; nextButtonDisabled?: boolean; previousButtonDisabled?: boolean; removeButtonRow?: boolean; footerComponent?: ReactNode; showLabelAboveSteps?: boolean; } declare const ProcessFlow: ({ children, onChangeStep, onNext, onPrevious, onSubmit, nextButtonStyle, nextButtonText, nextButtonTextStyle, previousButtonStyle, previousButtonText, previousButtonTextStyle, finishButtonText, nextButtonDisabled, previousButtonDisabled, removeButtonRow, footerComponent, labelStyle, showLabelAboveSteps, ...props }: ProcessFlowProps) => JSX.Element; declare const createProcess: () => { ProcessFlow: ({ children, onChangeStep, onNext, onPrevious, onSubmit, nextButtonStyle, nextButtonText, nextButtonTextStyle, previousButtonStyle, previousButtonText, previousButtonTextStyle, finishButtonText, nextButtonDisabled, previousButtonDisabled, removeButtonRow, footerComponent, labelStyle, showLabelAboveSteps, ...props }: ProcessFlowProps) => JSX.Element; Step: ({ children }: StepProps) => JSX.Element; }; interface ProgressButtonProps { title?: string; onPress?: () => {}; style?: ViewStyle; titleStyle?: StyleProp; disabled?: boolean; children?: ReactNode; } declare const ProgressButton: ({ title, onPress, style, titleStyle, disabled, children, }: ProgressButtonProps) => JSX.Element; interface ProcessContainerProps { children: ReactNode; initialNumberOfSteps: number; } interface ProcessContextType { totalSteps: number; numberOfSteps: (totalStepsNumber: number) => void; activeStep: number; currentStep: (currentStepIndex: number) => void; } declare const ProcessContainer: ({ children, initialNumberOfSteps }: ProcessContainerProps) => JSX.Element; declare const useProcess: () => ProcessContextType; export { ProcessContainer, ProcessFlow, ProcessFooter, ProgressButton, Step, StepIcon, createProcess, useProcess };