export namespace SteadyTrend { export interface SteadyLedgerNode { id: string parentId?: string name: string level: 0 | 1 | 2 | 3 sort?: number deviceCount?: number lineCount?: number selectable?: boolean children?: SteadyLedgerNode[] } export interface SteadyIndicatorSeriesField { field: string name: string } export interface SteadyIndicatorNode { id?: string treeKey?: string indicatorCode?: string name: string groupCode?: string tableName?: string baseFields?: string[] phaseCodes?: string[] seriesFields?: SteadyIndicatorSeriesField[] supportStats?: SteadyTrendStatType[] harmonic?: boolean harmonicOrderStart?: number | null harmonicOrderEnd?: number | null unit?: string children?: SteadyIndicatorNode[] } export type SteadyTrendStatType = 'AVG' | 'MAX' | 'MIN' | 'CP95' export interface SteadyTrendQueryParams { lineIds: string[] indicatorCodes: string[] statTypes: SteadyTrendStatType[] timeStart: string timeEnd: string qualityFlag?: number harmonicOrders?: number[] } export interface SteadyTrendPoint { time: string value: number | null } export interface SteadyTrendSeries { seriesKey: string lineId: string lineName?: string indicatorCode: string indicatorName?: string seriesName?: string phase?: string harmonicOrder?: number statType?: SteadyTrendStatType unit?: string points: SteadyTrendPoint[] } export interface SteadyTrendQueryResult { sampled?: boolean bucket?: string sourcePointCount?: number displayPointCount?: number loadableDays?: string[] series: SteadyTrendSeries[] } }