import { TAGS } from './constants';
import { ISOXMLManager } from '../ISOXMLManager';
import { XMLElement } from '../types';
import { Polygon } from './Polygon';
import { LineString } from './LineString';
import { Point } from './Point';
import { GuidanceGroup } from './GuidanceGroup';
import { Entity, EntityConstructor, ISOXMLReference } from '../types';
export type PartfieldAttributes = {
    PartfieldCode?: string;
    PartfieldDesignator: string;
    PartfieldArea: number;
    CustomerIdRef?: ISOXMLReference;
    FarmIdRef?: ISOXMLReference;
    CropTypeIdRef?: ISOXMLReference;
    CropVarietyIdRef?: ISOXMLReference;
    FieldIdRef?: ISOXMLReference;
    PolygonnonTreatmentZoneonly?: Polygon[];
    LineString?: LineString[];
    Point?: Point[];
    GuidanceGroup?: GuidanceGroup[];
    ProprietaryAttributes?: {
        [name: string]: string;
    };
    ProprietaryTags?: {
        [tag: string]: XMLElement[];
    };
};
export declare class Partfield implements Entity {
    attributes: PartfieldAttributes;
    isoxmlManager: ISOXMLManager;
    tag: TAGS;
    constructor(attributes: PartfieldAttributes, isoxmlManager: ISOXMLManager);
    static fromXML(xml: XMLElement, isoxmlManager: ISOXMLManager, internalId?: string, targetClass?: EntityConstructor): Promise<Entity>;
    toXML(): XMLElement;
}
