import { LoginAction, LoginSuccessFailAction, LogoutAction, LogoutSuccessFailAction, SignupAction, SignupSuccessFailAction, SocialLoginAction, SocialLoginSuccessFailAction, Validate2FAAction, Validate2FASuccessFailAction } from './commonActions';
export declare enum TypeKeys {
    SET_CODE_PUSH_CHECKED = "react-web-native-sketch/persisted/SET_CODE_PUSH_CHECKED",
    UPDATE_PERSIST = "react-web-native-sketch/persisted/UPDATE_PERSIST",
    SET_HEADERS = "react-web-native-sketch/persisted/SET_HEADERS",
    REHYDRATE = "persist/REHYDRATE"
}
export interface SetCodePushAction {
    type: TypeKeys.SET_CODE_PUSH_CHECKED;
}
export interface UpdatePersistAction {
    type: TypeKeys.UPDATE_PERSIST;
    data: any;
}
export interface SetHeadersAction {
    type: TypeKeys.SET_HEADERS;
    headers: any;
}
export interface RehydrateAction {
    type: TypeKeys.REHYDRATE;
    payload: {
        persisted: any;
    };
}
export declare type ActionTypes = SetCodePushAction | UpdatePersistAction | SetHeadersAction | RehydrateAction | LoginAction | LoginSuccessFailAction | SignupAction | SignupSuccessFailAction | SocialLoginAction | SocialLoginSuccessFailAction | LogoutAction | LogoutSuccessFailAction | Validate2FAAction | Validate2FASuccessFailAction;
export interface PersistedState<T> {
    codePush: {
        codePushChecked: boolean;
    };
    login?: {
        userData?: any;
        validated2FA?: boolean;
        isLoggedIn?: boolean;
    };
    headers?: any;
    other?: T;
    persistComplete?: boolean;
}
export declare const initialState: PersistedState<any>;
export declare const persisted: (state: PersistedState<any> | undefined, action: ActionTypes) => PersistedState<any>;
export declare const updatePersist: (data: any) => UpdatePersistAction;
export declare const setCodePushChecked: () => SetCodePushAction;
export declare const setHeaders: (headers: any) => SetHeadersAction;
