import { ISource } from '../core/index.js';
/**
 * Interface which holds all mandantory fragments for measurements
 */
export interface IMeasurement {
    /**
     * Uniquely identifies a measurement
     */
    id: string | number;
    /**
     * The most specific type of this entire measurement
     */
    type: string;
    /**
     * Time of the measurement
     */
    time: string;
    /**
     * Link to this resource
     */
    self: string;
    /**
     * The ManagedObject which is the source of this measurement,
     * see [[ISource]]
     */
    source: ISource;
    /**
     * Custom fragments.
     * **Example**
     * ```typescript
     *
     * {
     *  series: {
     *    unit: '%',
     *    value: 51
     *  }
     * }
     * ```
     */
    [fragment: string]: {
        [series: string]: IMeasurementValue;
    } | any;
}
export interface IMeasurementValue {
    value: number;
    unit?: string;
    [key: string]: any;
}
/**
 * This interface can be used to create a valid measurement.
 */
export interface IMeasurementCreate extends IMeasurement {
    /**
     * Uniquely identifier to which source this measurement belongs to
     */
    sourceId: number | string;
}
//# sourceMappingURL=IMeasurement.d.ts.map