import { Observer } from "./Observer"; import { EnumValue } from "./enums/EnumValue"; import { CryptoExecutionDataClient } from "./clients/CryptoExecutionDataClient"; import { CryptoHistoricalDataClient } from "./clients/CryptoHistoricalDataClient"; import { CryptoMarketDataClient } from "./clients/CryptoMarketDataClient"; import { EnumCollection } from "./enums/EnumCollection"; import { MessageCollection } from "./messages/MessageCollection"; import { ManagementDataClient } from "./clients/ManagementDataClient"; import { AuthenticationSuccessResponse } from "./messages/authentication/AuthenticationSuccessResponse"; import { UserCredentials } from "./messages/user/UserCredentials"; import { SystemNotification } from "./messages/SystemNotification"; import { AuthenticationFailedResponse } from "./messages/authentication/AuthenticationFailedResponse"; import { RequestResult } from "./messages/requestAndResult/RequestResult"; import { CryptoExecutorAccountConnectionStatus } from "./messages/authentication/CryptoExecutorAccountConnectionStatus"; export interface IntenseLabCryptoMarket { /** * Collection of all enumerations. * @type {EnumCollection} */ Enums: EnumCollection; /** * Collection of all messages, they are classes. * @type {MessageCollection} */ Messages: MessageCollection; /** * Mode of debug. * @type {boolean} */ debugMode: boolean; /** * Localization of culture and language. * @returns {EnumValue} * @constructor */ readonly Localization: EnumValue; /** * Type of serializer for sending / receiving from server. * @returns {EnumValue} * @constructor */ SerializerType: EnumValue; /** * Notify that authentication was successful. * @returns {Observer} Observer should be returned message of AuthenticationSuccessResponse. * @constructor */ readonly OnAuthenticationSuccessResponse: Observer; /** * Client for execution data. * @type {CryptoExecutionDataClient} * @constructor */ readonly ExecutionDataClient: CryptoExecutionDataClient; /** * Client for historical data. * @type {CryptoHistoricalDataClient} * @constructor */ readonly HistoricalDataClient: CryptoHistoricalDataClient; /** * Client for market data. * @type {CryptoMarketDataClient} * @constructor */ readonly MarketDataClient: CryptoMarketDataClient; /** * Client for management data. * @type {ManagementDataClient} * @constructor */ readonly ManagementDataClient: ManagementDataClient; /** * Triggers connection state was changed. * @returns {Observer} * @constructor */ readonly OnServerStateChanged: Observer; /** * Triggers UserCredentials was updated. * @returns {Observer} Observer should be returned message of UserCredentials. * @constructor */ readonly OnUpdateAuthenticationInfo: Observer; /** * Notify that message of type SystemNotification was received. * @returns {Observer} Observer should be returned message of SystemNotification. * @constructor */ readonly OnSystemNotification: Observer; /** * Notify that authentication was failed. * @returns {Observer} Observer should be returned message of AuthenticationFailedResponse. * @constructor */ readonly OnAuthenticationFailedResponse: Observer; /** * Notify that connection status of account was changed. * @returns {Observer} Observer should be returned message of RequestResult. * @constructor */ readonly OnRequestResult: Observer; /** * Notify that connection status of account was changed. * @returns {Observer} Observer should be returned message of CryptoExecutorAccountConnectionStatus. * @constructor */ readonly OnExecutorAccountConnectionStatus: Observer; /** * Notify that exception was thrown. * @returns {Observer} * @constructor Observer should be returned model of Error. */ readonly OnException: Observer; /** * Connects to server. * @param {string} name * @param {string} password * @param {string} url * @constructor */ Connect (name: string, password: string, url: string): void; /** * Disconnects user from all servers. * @constructor */ Disconnect (): void; /** * Creates new instance of IntenseLabEquityMarket. * @returns {IntenseLabCryptoMarket} * @constructor */ CreateNewInstance (): IntenseLabCryptoMarket; }