import { TAGS } from './constants';
import { ISOXMLManager } from '../ISOXMLManager';
import { XMLElement } from '../types';
import { LineString } from './LineString';
import { Polygon } from './Polygon';
import { Entity, EntityConstructor, ISOXMLReference } from '../types';
export declare enum GuidancePatternGuidancePatternTypeEnum {
    AB = "1",
    A = "2",
    Curve = "3",
    Pivot = "4",
    Spiral = "5"
}
export declare enum GuidancePatternGuidancePatternOptionsEnum {
    ClockwiseForPivot = "1",
    CounterClockwiseForPivot = "2",
    FullCircleForPivot = "3"
}
export declare enum GuidancePatternGuidancePatternPropagationDirectionEnum {
    BothDirections = "1",
    LeftDirectionOnly = "2",
    RightDirectionOnly = "3",
    NoPropagation = "4"
}
export declare enum GuidancePatternGuidancePatternExtensionEnum {
    FromBothFirstAndLastPoint = "1",
    FromFirstPointAOnly = "2",
    FromLastPointBOnly = "3",
    NoExtensions = "4"
}
export declare enum GuidancePatternGuidancePatternGNSSMethodEnum {
    NoGPSFix = "0",
    GNSSFix = "1",
    DGNSSFix = "2",
    PreciseGNSS = "3",
    RTKFixedInteger = "4",
    RTKFloat = "5",
    EstDRMode = "6",
    ManualInput = "7",
    SimulateMode = "8",
    DesktopGeneratedData = "16",
    Other = "17"
}
export type GuidancePatternAttributes = {
    GuidancePatternDesignator?: string;
    GuidancePatternType: GuidancePatternGuidancePatternTypeEnum;
    GuidancePatternOptions?: GuidancePatternGuidancePatternOptionsEnum;
    GuidancePatternPropagationDirection?: GuidancePatternGuidancePatternPropagationDirectionEnum;
    GuidancePatternExtension?: GuidancePatternGuidancePatternExtensionEnum;
    GuidancePatternHeading?: number;
    GuidancePatternRadius?: number;
    GuidancePatternGNSSMethod?: GuidancePatternGuidancePatternGNSSMethodEnum;
    GuidancePatternHorizontalAccuracy?: number;
    GuidancePatternVerticalAccuracy?: number;
    BaseStationIdRef?: ISOXMLReference;
    OriginalSRID?: string;
    NumberOfSwathsLeft?: number;
    NumberOfSwathsRight?: number;
    LineString?: LineString[];
    BoundaryPolygon?: Polygon[];
    ProprietaryAttributes?: {
        [name: string]: string;
    };
    ProprietaryTags?: {
        [tag: string]: XMLElement[];
    };
};
export declare class GuidancePattern implements Entity {
    attributes: GuidancePatternAttributes;
    isoxmlManager: ISOXMLManager;
    tag: TAGS;
    constructor(attributes: GuidancePatternAttributes, isoxmlManager: ISOXMLManager);
    static fromXML(xml: XMLElement, isoxmlManager: ISOXMLManager, internalId?: string, targetClass?: EntityConstructor): Promise<Entity>;
    toXML(): XMLElement;
}
