import ModuleManager from '../../core/libs/common/ModuleManager';
import { BaseAccountInfo, AccountInfo } from '../../core/libs/types/commonData';
import { AccountOptionsBase, Env, LogoutOptions } from '../../core/libs/types/account';
import Base from './base';
declare type LoginOptions = {
    environment?: Env;
};
export declare const getUserId: (manager: ModuleManager, tenantList: BaseAccountInfo[]) => Promise<string>;
export declare const getTenantList: (manager: ModuleManager) => Promise<BaseAccountInfo[]>;
export declare const fetchSwitchTenant: (manager: ModuleManager, account: BaseAccountInfo) => Promise<boolean>;
export default class Account extends Base {
    constructor();
    isLogin(environment?: string): boolean;
    getAccountInfo(environment?: string): AccountInfo | undefined;
    getUserInfo(): string;
    login(options: LoginOptions): Promise<AccountInfo>;
    logout(options: LogoutOptions): Promise<void>;
    getTenantList(): Promise<BaseAccountInfo[]>;
    switchTenant(): Promise<void>;
    switchEnv(options: AccountOptionsBase): Promise<void>;
    static checkTokenExist(command: string | undefined): void;
}
export {};
