import { TAGS } from './constants';
import { ISOXMLManager } from '../ISOXMLManager';
import { XMLElement } from '../types';
import { AttachedFile } from './AttachedFile';
import { BaseStation } from './BaseStation';
import { CodedComment } from './CodedComment';
import { CodedCommentGroup } from './CodedCommentGroup';
import { ColourLegend } from './ColourLegend';
import { CropType } from './CropType';
import { CulturalPractice } from './CulturalPractice';
import { Customer } from './Customer';
import { Device } from './Device';
import { Farm } from './Farm';
import { OperationTechnique } from './OperationTechnique';
import { Partfield } from './Partfield';
import { Product } from './Product';
import { ProductGroup } from './ProductGroup';
import { Task } from './Task';
import { TaskControllerCapabilities } from './TaskControllerCapabilities';
import { ValuePresentation } from './ValuePresentation';
import { Worker } from './Worker';
import { ExternalFileReference } from './ExternalFileReference';
import { Entity, EntityConstructor } from '../types';
export declare enum ISO11783TaskDataFileVersionMajorEnum {
    TheVersionOfTheSecondEditionPublishedAsAFinalDraftInternationalStandard = "4"
}
export declare enum ISO11783TaskDataFileVersionMinorEnum {
    Value0 = "0",
    Value1 = "1",
    Value2 = "2",
    Value3 = "3"
}
export declare enum ISO11783TaskDataFileDataTransferOriginEnum {
    FMIS = "1",
    MICS = "2"
}
export type ISO11783TaskDataFileAttributes = {
    VersionMajor: ISO11783TaskDataFileVersionMajorEnum;
    VersionMinor: ISO11783TaskDataFileVersionMinorEnum;
    ManagementSoftwareManufacturer: string;
    ManagementSoftwareVersion: string;
    TaskControllerManufacturer?: string;
    TaskControllerVersion?: string;
    DataTransferOrigin: ISO11783TaskDataFileDataTransferOriginEnum;
    lang?: string;
    AttachedFile?: AttachedFile[];
    BaseStation?: BaseStation[];
    CodedComment?: CodedComment[];
    CodedCommentGroup?: CodedCommentGroup[];
    ColourLegend?: ColourLegend[];
    CropType?: CropType[];
    CulturalPractice?: CulturalPractice[];
    Customer?: Customer[];
    Device?: Device[];
    Farm?: Farm[];
    OperationTechnique?: OperationTechnique[];
    Partfield?: Partfield[];
    Product?: Product[];
    ProductGroup?: ProductGroup[];
    Task?: Task[];
    TaskControllerCapabilities?: TaskControllerCapabilities[];
    ValuePresentation?: ValuePresentation[];
    Worker?: Worker[];
    ExternalFileReference?: ExternalFileReference[];
    ProprietaryAttributes?: {
        [name: string]: string;
    };
    ProprietaryTags?: {
        [tag: string]: XMLElement[];
    };
};
export declare class ISO11783TaskDataFile implements Entity {
    attributes: ISO11783TaskDataFileAttributes;
    isoxmlManager: ISOXMLManager;
    tag: TAGS;
    constructor(attributes: ISO11783TaskDataFileAttributes, isoxmlManager: ISOXMLManager);
    static fromXML(xml: XMLElement, isoxmlManager: ISOXMLManager, internalId?: string, targetClass?: EntityConstructor): Promise<Entity>;
    toXML(): XMLElement;
}
