import { RestfulResponse } from "../model/RestfulResponse";
import { OauthConfig } from "../model/OauthConfig";
import { CoreConfig } from "../model";
/**
 * @description: 授权服务
 * @author ChenRui
 * @date 2020/8/27 10:48
 */
declare class OauthService {
    isLogin: boolean;
    /**
     * @description: 全局配置-core
     * @author ChenRui
     * @date 2021/8/6 15:58
     */
    get coreConfig(): CoreConfig;
    /**
     * @description: 全局配置-auth
     * @author ChenRui
     * @date 2021/8/6 15:59
     */
    get authConfig(): OauthConfig;
    /**
     * @description: 检查登录状态并进行登录
     * @author ChenRui
     * @date 2021/8/4 10:52
     */
    checkAndLogin(): Promise<RestfulResponse>;
    /**
     * @description: 通过授权码获取令牌
     * @author ChenRui
     * @date 2021/8/4 11:53
     */
    getTokenByAuthCode(): Promise<RestfulResponse>;
    /**
     * @description: 单点登录
     * @author ChenRui
     * @date 2021/8/4 10:49
     */
    login(): Promise<RestfulResponse>;
    /**
     * @description: 刷新令牌
     * @author ChenRui
     * @date 2021/8/4 17:57
     */
    refreshToken(): Promise<RestfulResponse>;
    /**
     * @description: 登出
     * @author ChenRui
     * @date 2020/12/18 17:53
     */
    logOut(authorizeUrl?: string): Promise<RestfulResponse>;
    /**
     * @description: 生成重定向地址
     * @author ChenRui
     * @date 2021/8/6 17:36
     */
    genRedirectUri(isUseCache?: boolean): string;
    /**
     * @description: 清空授权中心缓存数据
     * @author ChenRui
     * @date 2021/8/6 18:20
     */
    private cleanOauthUserInfo;
    /**
     * @description: 同步用户信息
     * @author ChenRui
     * @date 2021/8/4 21:23
     */
    private syncUserCache;
    /**
     * @description: 创建基础认证消息头
     * @author ChenRui
     * @date 2021/8/4 21:18
     */
    private genBasicAuth;
    /**
     * @description: 检查是否获加载完令牌
     * @author ChenRui
     * @date 2020/8/27 11:08
     */
    get isLoadedToken(): boolean;
    /**
     * @description: 检查是否获加载完令牌
     * @author ChenRui
     * @date 2021/8/6 23:36
     */
    get isLoadedUserInfo(): boolean;
    /**
     * @description: 检查令牌是否过期
     * @author ChenRui
     * @date 2021/8/4 11:13
     */
    get isTokenExpiration(): boolean;
}
declare const oauthService: OauthService;
export { OauthService, oauthService };
