import { PromiseType } from '../../base'; import { AsyncCallStateMachine } from '../../state'; import './security.less'; export declare enum LoginType { UserPass = "\u7528\u6237\u540D\u5BC6\u7801\u65B9\u5F0F", Mobile = "\u52A8\u6001\u9A8C\u8BC1\u5BC6\u7801\u65B9\u5F0F", Wechat = "\u5FAE\u4FE1\u65B9\u5F0F", QQ = "QQ\u65B9\u5F0F", Alipay = "\u652F\u4ED8\u5B9D\u65B9\u5F0F", Weibo = "\u5FAE\u535A\u65B9\u5F0F" } export interface LoginResult { loginResult?: boolean; userName?: string; icon?: string; } /** * 登录接口 */ export interface LoginFunc { (loginType: LoginType, loginData: any): PromiseType; } export declare function remoteLogin(serverUrl: string, loginServceFunc: string, loginType: LoginType, loginData: T): Promise; /** * 登录状态机 */ export declare const loginStateMachine: AsyncCallStateMachine; export declare function login(statMachine: AsyncCallStateMachine, serverUrl: string, loginType: LoginType, loginData: T): void; export declare function logout(statMachine: AsyncCallStateMachine): void;