export interface ViewTag { TagId: number; TagName: string; Alias: string; Color: string; MinScale: number; MaxScale: number; IsVisible: boolean; IsAutoScale: boolean; Unit: string; TagType: "A" | "D"; TagTypeCode?: string; ForcedPeriodMs?: number; SourceTagId?: number; BitIndex?: number; IsBitExtracted?: boolean; } export interface View { ViewId: number; ViewName: string; IsPublic: boolean; CreatedBy?: string; CreatedDate?: Date; } export interface ViewTagsMap { [tagId: number]: { viewTag: ViewTag; order: number; }; } export interface EChartsDataPoint { timestamp: number; value: number | null; } export interface ViewTagDataSet { timestamp: string | number; value: number | null; } export interface CursorData { x1: number; x2: number; tagValues: { [tagId: number]: { y1: number; y2: number; y2y1: number; avg: number; pmin: { x: number; y: number; }; pmax: { x: number; y: number; }; }; }; } export interface ChartConfig { showLegend: boolean; showTooltip: boolean; animation: boolean; theme: "light" | "dark"; } export interface CustomOptions { showGridLines: boolean; smoothLines: boolean; steppedLines: boolean; showLegend: boolean; showTooltip: boolean; combinedView: boolean; showToolbox: boolean; showYAxisNames: boolean; rawData: boolean; } export interface TagTableRow { id: number; visible: boolean; type: "A" | "D"; alias: string; tagName: string; color: string; minScale: number; maxScale: number; autoScale: boolean; unit: string; deltaTime: number; y1: number; y2: number; y2y1: number; avg: number; min: number; max: number; overallMin: number; overallMax: number; count: number; isBitExtracted?: boolean; sourceTagId?: number; bitIndex?: number; } export interface TagFromTree { Tagkey: number; TagId: number; TagName: string; TagFolderId: number | null; ParentTagFolderId: number | null; ParentTagId?: number | null; TagFolderName: string | null; IsFolder: boolean; Color: string | null; Alias: string | null; MinScale: number | null; MaxScale: number | null; Unit: string | null; TagTypeCode: string; IsActive: boolean; } export type scopeType = "1 min" | "10 min" | "30 min" | "1 hour" | "4 hours" | "12 hours" | "1 day" | "3 days" | "10 days" | "custom";