import { TimelogTime, TimeLog, TimeLogAttributes, TimelogPositionAttributes } from "../../baseEntities";
import { TAGS } from "../../baseEntities/constants";
import { ISOXMLManager } from "../../ISOXMLManager";
import { Entity, ValueInformation, XMLElement } from "../../types";
export interface TimeLogRecord {
    time: Date;
    position: TimelogPositionAttributes;
    values: {
        [ddi_det: string]: number;
    };
    isValidPosition: boolean;
}
export type DataLogValueInfo = ValueInformation & {
    minValue?: number;
    maxValue?: number;
    deviceElementId: string;
    deviceElementDesignator?: string;
    valueKey: string;
};
export interface TimeLogInfo {
    valuesInfo: DataLogValueInfo[];
    timeLogs: TimeLogRecord[];
    bbox?: [number, number, number, number];
}
export declare class ExtendedTimeLog extends TimeLog {
    tag: TAGS;
    binaryData: Uint8Array;
    timeLogHeader: TimelogTime;
    parsingErrors: string[];
    private parsedTimeLog;
    constructor(attributes: TimeLogAttributes, isoxmlManager: ISOXMLManager);
    static fromXML(xml: XMLElement, isoxmlManager: ISOXMLManager, internalId: string): Promise<Entity>;
    private getDLVDeviceElement;
    toXML(): XMLElement;
    parseBinaryFile(): TimeLogInfo;
    rangesWithoutOutliers(): {
        minValue: number;
        maxValue: number;
    }[];
    /** Filles missing values with the latest value */
    getFilledTimeLogs(): TimeLogRecord[];
}
