import { BaseDataClient } from "./BaseDataClient"; import { CryptoLinkedAccountsRequest } from "../messages/requestAndResult/CryptoLinkedAccountsRequest"; import { CryptoAccountInfoRequest } from "../messages/requestAndResult/CryptoAccountInfoRequest"; import { Observer } from "../Observer"; import { UserInfo } from "../messages/user/UserInfo"; import { CryptoAccountInfoUpdate } from "../messages/manager/CryptoAccountInfoUpdate"; import { UserCryptoAccountLinkInfo } from "../messages/manager/UserCryptoAccountLinkInfo"; import { CryptoAccountInfoResponse } from "../messages/requestAndResult/CryptoAccountInfoResponse"; import { CryptoLinkedAccountsResponse } from "../messages/requestAndResult/CryptoLinkedAccountsResponse"; import { PasswordChangeRequest } from "../messages/requestAndResult/PasswordChangeRequest"; /** * Client for management data. */ export interface ManagementDataClient extends BaseDataClient { /** * Send request for linked accounts. * @param {CryptoLinkedAccountsRequest} request - Request for linked accounts. * @constructor */ SendLinkedAccountsRequest (request: CryptoLinkedAccountsRequest): void; /** * Send request for information about account. * @param {CryptoAccountInfoRequest} request - The request for account's information. * @constructor */ SendAccountInfoRequest (request: CryptoAccountInfoRequest): void; /** * Send request for change password. * @param {PasswordChangeRequest} request - Request for change accounts password. * @constructor */ SendPasswordChangeRequest (request: PasswordChangeRequest): void; /** * Triggers when user's information was updated. * @returns {Observer} * @constructor */ readonly OnUserInfoUpdate: Observer; /** * Triggers when link between user and it's accounts where updated. * @returns {Observer} * @constructor */ readonly OnAccountInfoUpdate: Observer; /** * Triggers when link between user and it's accounts where updated. * @returns {Observer} * @constructor */ readonly OnUserAccountLinksUpdate: Observer; /** * Triggers when response to CryptoAccountInfoRequest was received. * @returns {Observer} * @constructor */ readonly OnAccountInfoResponse: Observer; /** * Triggers when response on CryptoLinkedAccountsRequest was received. * @returns {Observer} * @constructor */ readonly OnLinkedAccountsResponse: Observer; }