import { AppState } from '../app';
import { CustomerSignIn, RequestError, RequestStatus } from '@open-tender/types';
export interface OneTimePasscodeState {
    otpSent: boolean;
    loading: RequestStatus;
    error: RequestError;
}
export declare enum OneTimePasscodeActionType {
    OneTimePasscodeCustomer = "oneTimePasscode/oneTimePasscodeCustomer",
    SignInCustomer = "oneTimePasscode/signInCustomer"
}
export declare const sendOneTimePasscode: import("@reduxjs/toolkit").AsyncThunk<boolean, {
    data: CustomerSignIn;
    callback?: (() => void) | undefined;
}, {
    state: AppState;
    rejectValue: RequestError;
    dispatch?: import("redux").Dispatch<import("redux").AnyAction> | undefined;
    extra?: unknown;
    serializedErrorType?: unknown;
    pendingMeta?: unknown;
    fulfilledMeta?: unknown;
    rejectedMeta?: unknown;
}>;
export declare const signInCustomer: import("@reduxjs/toolkit").AsyncThunk<void, {
    data: CustomerSignIn;
    callback?: (() => void) | undefined;
}, {
    state: AppState;
    rejectValue: RequestError;
    dispatch?: import("redux").Dispatch<import("redux").AnyAction> | undefined;
    extra?: unknown;
    serializedErrorType?: unknown;
    pendingMeta?: unknown;
    fulfilledMeta?: unknown;
    rejectedMeta?: unknown;
}>;
export declare const resetOneTimePasscode: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"oneTimePasscode/resetOneTimePasscode">, toggleOtpSent: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "oneTimePasscode/toggleOtpSent">;
export declare const selectOneTimePasscode: (state: AppState) => OneTimePasscodeState;
export declare const oneTimePasscodeReducer: import("redux").Reducer<OneTimePasscodeState, import("redux").AnyAction>;
