import { IAlunaModuleParams, IAlunaModuleReturns } from '../../schemas/IAlunaModuleSchema'; import { IAlunaSymbolSchema } from '../../schemas/IAlunaSymbolSchema'; export interface IAlunaSymbolModule { listRaw(params?: IAlunaSymbolListParams): Promise>; list(params?: IAlunaSymbolListParams): Promise; getRaw?(params: IAlunaSymbolGetParams): Promise>; get?(params: IAlunaSymbolGetParams): Promise; parseMany(params: IAlunaSymbolParseManyParams): IAlunaSymbolParseManyReturns; parse(params: IAlunaSymbolParseParams): IAlunaSymbolParseReturns; } /** * Parse */ export interface IAlunaSymbolParseParams { rawSymbol: T; } export interface IAlunaSymbolParseReturns { symbol: IAlunaSymbolSchema; } export interface IAlunaSymbolParseManyParams { rawSymbols: T; } export interface IAlunaSymbolParseManyReturns { symbols: IAlunaSymbolSchema[]; } /** * List */ export interface IAlunaSymbolListParams extends IAlunaModuleParams { } export interface IAlunaSymbolListRawReturns extends IAlunaModuleReturns { rawSymbols: T; } export interface IAlunaSymbolListReturns extends IAlunaModuleReturns, IAlunaSymbolParseManyReturns { } /** * Get */ export interface IAlunaSymbolGetParams extends IAlunaModuleParams { id: string; } export interface IAlunaSymbolGetRawReturns extends IAlunaModuleReturns { rawSymbol: T; } export interface IAlunaSymbolGetReturns extends IAlunaModuleReturns, IAlunaSymbolParseReturns { }