import { IAlunaMarketSchema } from '../../schemas/IAlunaMarketSchema'; import { IAlunaModuleParams, IAlunaModuleReturns } from '../../schemas/IAlunaModuleSchema'; export interface IAlunaMarketModule { listRaw(params?: IAlunaMarketListParams): Promise>; list(params?: IAlunaMarketListParams): Promise; getRaw?(params: IAlunaMarketGetParams): Promise>; get?(params: IAlunaMarketGetParams): Promise; parseMany(params: IAlunaMarketParseManyParams): IAlunaMarketParseManyReturns; parse(params: IAlunaMarketParseParams): IAlunaMarketParseReturns; } /** * Parse */ export interface IAlunaMarketParseParams { rawMarket: T; } export interface IAlunaMarketParseReturns { market: IAlunaMarketSchema; } export interface IAlunaMarketParseManyParams { rawMarkets: T; } export interface IAlunaMarketParseManyReturns { markets: IAlunaMarketSchema[]; } /** * List */ export interface IAlunaMarketListParams extends IAlunaModuleParams { } export interface IAlunaMarketListRawReturns extends IAlunaModuleReturns { rawMarkets: T; } export interface IAlunaMarketListReturns extends IAlunaModuleReturns, IAlunaMarketParseManyReturns { } /** * Get */ export interface IAlunaMarketGetParams extends IAlunaModuleParams { symbolPair: string; } export interface IAlunaMarketGetRawReturns extends IAlunaModuleReturns { rawMarket: T; } export interface IAlunaMarketGetReturns extends IAlunaModuleReturns, IAlunaMarketParseReturns { }