/// <reference types="react" />
import { SCAuthTokenType, SCSessionType } from '../types';
/**
 * We have complex state logic that involves multiple sub-values,
 * so useReducer is preferable to useState.
 * Define all possible auth action types label
 * Use this to export actions and dispatch an action
 */
export declare const userActionTypes: {
    LOGIN_LOADING: string;
    LOGIN_SUCCESS: string;
    LOGIN_FAILURE: string;
    LOGOUT: string;
    REFRESH_TOKEN_SUCCESS: string;
    REFRESH_TOKEN_FAILURE: string;
    REFRESH_SESSION: string;
    CHANGE_AVATAR: string;
    CHANGE_COVER: string;
    CHANGE_UNSEEN_INTERACTIONS_COUNTER: string;
    CHANGE_UNSEEN_NOTIFICATION_BANNERS_COUNTER: string;
};
/**
 * Custom hook 'useAuth'
 * Use this hook to manage the session in AuthContextProvider
 * @param initialSession
 */
export default function useAuth(initialSession: SCSessionType): {
    state: any;
    dispatch: import("react").Dispatch<any>;
    helpers: {
        refreshSession: () => Promise<SCAuthTokenType>;
    };
};
//# sourceMappingURL=useSCAuth.d.ts.map