import { LokiJsConnection } from "@js-soft/docdb-access-loki"; import { CoreDate, CoreId } from "@nmshd/core-types"; import { AccountController, DeviceSharedSecret, Transport } from "@nmshd/transport"; import { AppConfig } from "../AppConfig"; import { SessionStorage } from "../SessionStorage"; import { LocalAccount } from "./data/LocalAccount"; export declare class MultiAccountController { private readonly config; private readonly databaseConnection; private readonly sessionStorage; private readonly _log; private _localAccounts; private _db?; protected _dbClosed: boolean; private readonly _transport; get transport(): Transport; private readonly _path; get path(): string; constructor(transport: Transport, config: AppConfig, databaseConnection: LokiJsConnection, sessionStorage: SessionStorage); init(): Promise; close(): Promise; private readonly _openAccounts; getAccount(id: CoreId): Promise; getAccountByAddress(address: string): Promise; getAccounts(): Promise; getAccountsInDeletion(): Promise; getAccountsNotInDeletion(): Promise; private _findAccounts; selectAccount(id: CoreId): Promise<[LocalAccount, AccountController]>; offboardAccount(id: CoreId): Promise; deleteAccount(id: CoreId): Promise; clearAccounts(): Promise; closeAccounts(): Promise; onboardDevice(deviceSharedSecret: DeviceSharedSecret, name?: string, deviceName?: string): Promise<[LocalAccount, AccountController]>; createAccount(name: string, deviceName?: string): Promise<[LocalAccount, AccountController]>; private updateLocalAccountAddress; renameLocalAccount(id: CoreId, name: string): Promise; updateLocalAccountDeletionDate(address: string, deletionDate?: CoreDate): Promise; updateLastAccessedAt(accountId: string): Promise; updatePushIdentifierForAccount(address: string, devicePushIdentifier: string): Promise; getAccountReferenceForDevicePushIdentifier(devicePushIdentifier: string): Promise; } //# sourceMappingURL=MultiAccountController.d.ts.map