import { IJAuthConfig } from "@/jv3-login-jwt.d";
import { Router, RouteRecordRaw } from "vue-router";
export default class JAuth implements IJAuthConfig {
    url: string;
    path_login: string;
    path_refresh: string;
    path_user: string;
    customLogin?: Function;
    callbackLogin?: Function;
    customLogout?: Function;
    callbackLogout?: Function;
    exceptions: Array<any>;
    jwtStorage: string;
    defaultTokenExprie?: number;
    tokenExprieBefore?: number;
    authStorage: string;
    expStorage: string;
    defaultRoutePath?: string;
    handleError?: Function;
    title?: string;
    hello?: string;
    customRouteMeta?: object;
    loginRouterView: RouteRecordRaw;
    autoLogout: any;
    beforeRoute: any;
    userUrl: string;
    refreshUrl: string;
    authUrl: string;
    user: object | null;
    router: Router;
    logoutTimer: any | null;
    expiresAt: number | null;
    refreshIntervalTimer: number;
    refreshInterval: any | null;
    constructor(config: IJAuthConfig, router: Router);
    private initialize;
    getLocalStorage(key: string): any;
    setUser(user: any): void;
    loadUser(): void;
    login(user: {
        username: string;
        password: string;
    }): Promise<import("axios").AxiosResponse<any, any>>;
    directRouter(): void;
    directLogin(): void;
    getUser(): Promise<any>;
    refreshToken(): Promise<boolean>;
    private startLogoutTimer;
    setExpiresIn(expiry: number): void;
    getExpiresAt(): number | null;
    getExpiresIn(expiry: number): number | null;
    saveBeforeRoute(to: any): void;
    setAutoLogout(expiry: number): void;
    logout(): Promise<void>;
}
