import { TAGS } from './constants';
import { ISOXMLManager } from '../ISOXMLManager';
import { XMLElement } from '../types';
import { Point } from './Point';
import { Entity, EntityConstructor } from '../types';
export declare enum LineStringLineStringTypeEnum {
    PolygonExterior = "1",
    PolygonInterior = "2",
    TramLine = "3",
    SamplingRoute = "4",
    GuidancePattern = "5",
    Drainage = "6",
    Fence = "7",
    Flag = "8",
    Obstacle = "9"
}
export type LineStringAttributes = {
    LineStringType: LineStringLineStringTypeEnum;
    LineStringDesignator?: string;
    LineStringWidth?: number;
    LineStringLength?: number;
    LineStringColour?: number;
    Point?: Point[];
    ProprietaryAttributes?: {
        [name: string]: string;
    };
    ProprietaryTags?: {
        [tag: string]: XMLElement[];
    };
};
export declare class LineString implements Entity {
    attributes: LineStringAttributes;
    isoxmlManager: ISOXMLManager;
    tag: TAGS;
    constructor(attributes: LineStringAttributes, isoxmlManager: ISOXMLManager);
    static fromXML(xml: XMLElement, isoxmlManager: ISOXMLManager, internalId?: string, targetClass?: EntityConstructor): Promise<Entity>;
    toXML(): XMLElement;
}
