type SetOtpTextForIndexPayload = {
    index: number;
    text: string;
};
type SetOtpTextForIndex = {
    type: 'setOtpTextForIndex';
    payload: SetOtpTextForIndexPayload;
};
type SetOtpCodePayload = {
    count: number;
    code: string;
};
type SetOtpCode = {
    type: 'setOtpCode';
    payload: SetOtpCodePayload;
};
type ClearOtpPayload = number;
type ClearOtp = {
    type: 'clearOtp';
    payload: ClearOtpPayload;
};
type SetHasKeySupportPayload = boolean;
type SetHasKeySupport = {
    type: 'setHasKeySupport';
    payload: SetHasKeySupportPayload;
};
export type ReducerState = {
    otpCode: {
        [key: string]: string;
    };
    handleChange?: (otpCode: string) => void;
    hasKeySupport: boolean;
};
export type ActionTypes = {
    setOtpTextForIndex: 'setOtpTextForIndex';
    setOtpCode: 'setOtpCode';
    clearOtp: 'clearOtp';
    setHasKeySupport: 'setHasKeySupport';
};
export type Actions = SetOtpTextForIndex | SetOtpCode | ClearOtp | SetHasKeySupport;
declare const _default: (state: ReducerState, { type, payload }: Actions) => ReducerState | {
    otpCode: {
        [x: string]: string;
    };
    index: number;
    handleChange?: ((otpCode: string) => void) | undefined;
    hasKeySupport: boolean;
};
export default _default;
//# sourceMappingURL=reducer.d.ts.map