import { MdoDictionary, SerializedMDO, Mdo } from "./mdo";
export interface DeviceUnitTypeDictionary {
    [index: string]: MdoDictionary;
}
export interface SerializedUnitTypeDictionary {
    [index: string]: {
        [index: string]: SerializedMDO;
    };
}
export interface SerializedUnit {
    slug: string;
    unit_full: string;
    unit_short: string;
    m: number;
    d: number;
    o: number;
    decimal_places?: number;
    derived_units?: SerializedUnitTypeDictionary;
}
export declare class Unit {
    mdo: Mdo;
    fullName: string;
    shortName: string;
    slug: string;
    decimalPlaces?: number;
    derivedUnits?: DeviceUnitTypeDictionary;
    constructor(data?: any);
    private initFromJSON;
    toJson(): SerializedUnit;
    setFromUnit(src: Unit): void;
    deriveUnitTypes(): string[];
    deriveUnitsByType(type: string): string[];
}
