import { TAGS } from './constants';
import { ISOXMLManager } from '../ISOXMLManager';
import { XMLElement } from '../types';
import { LinkGroup } from './LinkGroup';
import { Entity, EntityConstructor } from '../types';
export declare enum ISO11783LinkListFileVersionMajorEnum {
    TheVersionOfTheSecondEditionPublishedAsAFinalDraftInternationalStandard = "4"
}
export declare enum ISO11783LinkListFileVersionMinorEnum {
    Value0 = "0",
    Value1 = "1",
    Value2 = "2",
    Value3 = "3"
}
export declare enum ISO11783LinkListFileDataTransferOriginEnum {
    FMIS = "1",
    MICS = "2"
}
export type ISO11783LinkListFileAttributes = {
    VersionMajor: ISO11783LinkListFileVersionMajorEnum;
    VersionMinor: ISO11783LinkListFileVersionMinorEnum;
    ManagementSoftwareManufacturer: string;
    ManagementSoftwareVersion: string;
    TaskControllerManufacturer?: string;
    TaskControllerVersion?: string;
    FileVersion?: string;
    DataTransferOrigin: ISO11783LinkListFileDataTransferOriginEnum;
    LinkGroup?: LinkGroup[];
    ProprietaryAttributes?: {
        [name: string]: string;
    };
    ProprietaryTags?: {
        [tag: string]: XMLElement[];
    };
};
export declare class ISO11783LinkListFile implements Entity {
    attributes: ISO11783LinkListFileAttributes;
    isoxmlManager: ISOXMLManager;
    tag: TAGS;
    constructor(attributes: ISO11783LinkListFileAttributes, isoxmlManager: ISOXMLManager);
    static fromXML(xml: XMLElement, isoxmlManager: ISOXMLManager, internalId?: string, targetClass?: EntityConstructor): Promise<Entity>;
    toXML(): XMLElement;
}
