import { InputHTMLAttributes, ReactNode } from 'react';
import { FieldError, FieldPath, FieldValues, UseFormRegister } from 'react-hook-form';
import { ComponentColor, IComponentBaseProps, Size } from '../types';
export declare const PINCODE = "input";
export declare const COLOR_MAP: {
primary: string;
secondary: string;
error: string;
info: string;
success: string;
warning: string;
accent: string;
ghost: string;
};
export declare const SIZE_MAP: Record;
export declare const PINCODE_MAP: {
primary: string;
secondary: string;
error: string;
info: string;
success: string;
warning: string;
accent: string;
ghost: string;
xs: string;
sm: string;
md: string;
lg: string;
xl: string;
};
export interface PinCodeProps extends Omit, "size" | "color" | "id" | "type" | "value" | "onChange">, IComponentBaseProps {
/** Field name for form integration */
name: FieldPath;
/** This Pin Code component only support these two types */
type?: "text" | "number";
/** Pass setState to get back the pin code value */
onChange?: (value: string) => void;
/** Mask and unmask to hide and show pin code */
mask?: boolean;
/** Set pin code length */
length?: number;
/** Make pin code horizontally center */
center?: boolean;
/** Set placeholder text */
placeholder?: string;
/** The size of the component */
size?: Size;
/** Color variant */
color?: Exclude;
/** React Hook Form register function */
register?: UseFormRegister;
/** Label for the pin code */
label?: ReactNode;
/** Helper text */
helper?: string;
/** Error from React Hook Form or manual */
error?: FieldError;
/** Additional CSS classes for the container */
className?: string;
/** Additional CSS classes for each input field */
inputClassName?: string;
}