///
import { EventEmitter } from 'events';
import { UserModel, UnLockDto, RecoverResult, AddAccountDto } from './interface';
import { AccountService } from '../../usecase/accounts';
import { MpcService } from '../../usecase/mpc';
import { AccountRestApi } from '../../infra/rest-api/accounts';
import { Wallet } from '../../schema/model';
import { TwofaResetDto } from '../../schema/account';
declare class AccountController extends EventEmitter {
private accountService;
private mpcService;
private accountRestApi;
keyGenResult: undefined;
recoverData: RecoverResult | undefined;
password: string | undefined;
waitingForUnlock: any[];
constructor(accountService: AccountService, mpcService: MpcService, accountRestApi: AccountRestApi);
createMpcBaseAccount(data: AddAccountDto, dispatch: any): Promise;
recoverShare(dto: {
password: string;
user: UserModel;
wallets: Wallet[];
keepDB: boolean;
}, dispatch: any): Promise;
verifyTwofactorForMpcSign({ twofaToken, jsonUnsignedTx }: {
twofaToken: any;
jsonUnsignedTx: any;
}): Promise;
generateTwoFactor(dto: any): Promise<{
qrcode?: string;
secret?: string;
}>;
verifyTwoFactorGen(payload: {
token: string;
}): Promise;
verifyTwoFactorGenReset(payload: {
token: string;
twofaResetAccessToken: string;
}): Promise;
resetTwoFa(dto: TwofaResetDto): Promise<{
accessToken: any;
user: any;
}>;
unlock(dto: UnLockDto, user: any): Promise;
}
export default AccountController;