import { IAlunaModuleParams, IAlunaModuleReturns } from '../../schemas/IAlunaModuleSchema'; import { IAlunaPositionSchema } from '../../schemas/IAlunaPositionSchema'; export interface IAlunaPositionModule { listRaw(params?: IAlunaPositionListParams): Promise>; list(params?: IAlunaPositionListParams): Promise; getRaw(params: IAlunaPositionGetParams): Promise>; get(params: IAlunaPositionGetParams): Promise; close(params: IAlunaPositionCloseParams): Promise; parseMany(params: IAlunaPositionParseManyParams): IAlunaPositionParseManyReturns; parse(params: IAlunaPositionParseParams): IAlunaPositionParseReturns; getLeverage?(params: IAlunaPositionGetLeverageParams): Promise; setLeverage?(params: IAlunaPositionSetLeverageParams): Promise; } /** * Parse */ export interface IAlunaPositionParseParams extends IAlunaModuleParams { rawPosition: T; } export interface IAlunaPositionParseReturns { position: IAlunaPositionSchema; } export interface IAlunaPositionParseManyParams extends IAlunaModuleParams { rawPositions: T; } export interface IAlunaPositionParseManyReturns { positions: IAlunaPositionSchema[]; } /** * List */ export interface IAlunaPositionListParams extends IAlunaModuleParams { openPositionsOnly?: boolean; } export interface IAlunaPositionListRawReturns extends IAlunaModuleReturns { rawPositions: T; } export interface IAlunaPositionListReturns extends IAlunaPositionParseManyReturns, IAlunaModuleReturns { } /** * Get */ export interface IAlunaPositionGetParams extends IAlunaModuleParams { id?: string; symbolPair?: string; } export interface IAlunaPositionGetRawReturns extends IAlunaModuleReturns { rawPosition: T; } export interface IAlunaPositionGetReturns extends IAlunaPositionParseReturns, IAlunaModuleReturns { } /** * Close */ export interface IAlunaPositionCloseParams extends IAlunaModuleParams { id?: string; symbolPair?: string; } export interface IAlunaPositionCloseReturns extends IAlunaPositionGetReturns { } /** * Leverage */ export interface IAlunaPositionGetLeverageParams extends IAlunaModuleParams { id?: string; symbolPair: string; } export interface IAlunaPositionGetLeverageReturns extends IAlunaModuleReturns { leverage: number; } export interface IAlunaPositionSetLeverageParams extends IAlunaModuleParams { id?: string; symbolPair: string; leverage: number; } export interface IAlunaPositionSetLeverageReturns extends IAlunaModuleReturns { leverage: number; }