import DataCache from '../utilities/dataCache'; import { IAccount, IAccessToken, IClientDevice, IWorkspace, IAccountQuery } from '../dataSource/models/accountModel'; import DataRequest, { IListOutput, IPgeInfo } from '../utilities/dataQuery'; import { IFeature } from '../dataSource/models/featureModel'; import { IRole } from '../dataSource/models/roleModel'; interface IAccountCompleteInfo { accountData: IAccount | null; role: IRole | null; roles: IRole[] | null; features: IFeature[] | null; workspace: IWorkspace | null; workspaces: IWorkspace[] | null; externalWorkspaces: (IWorkspace & { ownerId: string; ownerNameId: string; })[] | null; clientDevice: IClientDevice | null; accessToken: IAccessToken | null; } declare class AccountController { cachedData: DataCache; request: DataRequest; constructor(); clearSensitiveInfo(account: IAccount): IAccount; getAccountCompleteInfo(query: { _id: string; ua?: string; token?: string; }, includeSensitiveInfo?: boolean): Promise; getAccount(query: IAccountQuery, includeSensitiveInfo?: boolean): Promise; getAllAccounts(includeSensitiveInfo?: boolean): Promise; getAccountsByPage(query: IAccountQuery | undefined, pageInfo: IPgeInfo): Promise>; saveAccount(nameId: string, disabled: boolean | string, verified: boolean | string): Promise; updateAccount(id: string, nameId: string, disabled: boolean | string, verified: boolean | string): Promise; deleteAccount(id: string): Promise; } export { IAccountCompleteInfo }; declare const _default: AccountController; export default _default;