import Joi from 'joi'; import { AnalyticsQuery } from './analytics-query'; interface AllContent { type: 'all'; staticOnly: boolean; gridHashId: string | null; from: Date; to: Date; } interface MeasurementFilterContent { type: 'measurementFilter'; name: string; description: string; from?: Date; to?: Date; } interface AnalyticsQueryContent { type: 'analyticsQuery'; query: AnalyticsQuery; dashboardId: string; widgetName: string; } interface ChartContent { type: 'chart'; from: Date; to: Date; highResolution: boolean; series: { quantityHashId: string; pinHashId: string; }[]; title: string; } type Content = AllContent | MeasurementFilterContent | AnalyticsQueryContent | ChartContent; declare const contentSchemaAlternatives: Joi.ObjectSchema[]; declare const schema: Joi.ObjectSchema; interface ExportRequest { hashId: string; content: Content; delimiter: ',' | ';'; rowDelimiter: '\n' | '\r\n'; status: 'waiting' | 'creating' | 'available' | 'deleted'; downloadUrl?: string; createdAt: Date; } export { schema, ExportRequest, AllContent, MeasurementFilterContent, AnalyticsQueryContent, ChartContent, Content, contentSchemaAlternatives, };