import { Category } from './category'; import { FeedSourceType } from './feed-source-type'; import { FeedType } from './feed-type'; import { PageParameters } from './page-parameters'; import { Unit } from './unit'; export interface TypeFeedsBulk { query?: string; type?: FeedType; sourceType?: FeedSourceType; readingTypeId?: number; aggregatable?: boolean; } export interface TypeFeedsFilter extends TypeFeedsBulk, PageParameters { } export interface TypeFeed { id?: number; name: string; type: FeedType; sourceType: FeedSourceType; categories?: Category[]; categorisationEnabled?: boolean; retention?: number; precision?: number; unit: Unit; } export interface TypeSyntheticFeed extends TypeFeed { sourceType: FeedSourceType.SYNTHETIC; } export interface TypeDeviceFeed extends TypeFeed { sourceType: FeedSourceType.DEVICE; reference: string; } export interface TypeAggregatedFeed extends TypeFeed { sourceType: FeedSourceType.AGGREGATE; sourceFeed?: TypeFeed; function: string; interval: string; type: FeedType.IN; } export interface TypeTransitiveFeed extends TypeFeed { sourceType: FeedSourceType.TRANSITIVE; sourceFeed?: TypeFeed; } interface CreateTypeFeed { id?: number; name: string; type: FeedType; unit: { id?: number; }; precision: number; retention?: number; } export interface CreateTypeSyntheticFeed extends CreateTypeFeed { unit: { id?: number; }; } export interface CreateTypeDeviceFeed extends CreateTypeFeed { reference: string; } export interface CreateTypeAggregatedFeed extends CreateTypeFeed { sourceFeed?: { id: number; name: string; }; function: string; interval: string; type: FeedType.IN; } export interface CreateTypeTransitiveFeed extends CreateTypeFeed { sourceFeed?: { id: number; name: string; }; } export {}; //# sourceMappingURL=type-feed.d.ts.map