import { Service } from "root-ts"; import { MongodbService } from "root-ts"; import { AuthenticationService } from "./authenticationService"; import * as Leaf from "leaf-ts"; export declare const Errors: { NotFound: Leaf.CustomErrorConstructor<{}>; UnknownError: Leaf.CustomErrorConstructor<{}>; DBError: Leaf.CustomErrorConstructor<{}>; AlreadyExists: Leaf.CustomErrorConstructor<{}>; InvalidParameter: Leaf.CustomErrorConstructor<{}>; NameAlreadyExists: Leaf.CustomErrorConstructor<{}>; EmailAlreadyExists: Leaf.CustomErrorConstructor<{}>; }; export declare class AccountService extends Service { readonly name = "AccountService"; protected collectionName: string; readonly dependencies: string[]; services: { MongodbService: MongodbService; AuthenticationService: AuthenticationService; }; accountCollection: any; initialize(done: any): void; create(option: { account: TAccountDefinition; }, callback: Callback): void; createFromAuthentication(option: { authentication: Type.Account.AuthenticationService.AuthenticationData; id?: string; name?: string; displayName?: string; props?: TAccountDefinition["props"]; role?: TAccountDefinition["role"]; }, callback: Callback): void; get(id: string, callback: Callback): void; gets(ids: string[], callback: Callback): void; update(option: { account: TAccountDefinition; mongoUpdates?: any; }, callback: Callback): void; register(option: { type: string; role?: TAccountDefinition["role"]; meta: TAuthenticationData["meta"]; }, callback: Callback): void; }