import type { ComponentProps } from 'react'; import React from 'react'; import type { StyleProp, ViewStyle, TextInput } from 'react-native'; import type { State } from './StyledPinInput'; interface PinInputProps { /** * The value to show for the input. */ value?: string; /** * Callback function that's called when the text changed. */ onChangeText: (value: string) => void; /** * Callback function that's called when the input is completely filled. */ onFulfill?: (value: string) => void; /** * Number of character for the input. */ length?: number; disabled?: boolean; /** * Whether the pin value is secured using masks. * By default, this is true, meaning that masks are shown to hide pin value. */ secure?: boolean; /** * If true, focuses the input on componentDidMount. */ autoFocus?: boolean; /** * Error message. */ error?: string; /** * Additional style. */ style?: StyleProp; /** * Testing id of the component. */ testID?: string; /** * The text content type of the input. */ textContentType?: ComponentProps['textContentType']; /** * The autofill type of the input. */ autoComplete?: ComponentProps['autoComplete']; /** * If true, indicates that the PinInput is accessible to screen readers. */ accessible?: boolean; } export declare function getState({ disabled, error, }: { disabled?: boolean; error?: string; }): State; export interface PinInputHandler { /** * focus into input */ focus: () => void; /** * blur text input */ blur: () => void; } export declare const normalizeValue: (value?: string, length?: number) => string; declare const PinInput: React.ForwardRefExoticComponent>; export default PinInput;