import { Extensions, GPXBuildData } from '../../types';
import * as models from './models';
import { Metadata, Point, Track, Route } from './models';
export default class BaseBuilder {
    protected data: GPXBuildData;
    protected schemaLocation: string[];
    static MODELS: typeof models;
    constructor();
    /**
     * Set metadata object.
     *
     * @param metadata - Metadata object
     * @returns {BaseBuilder} self
     */
    setMetadata(metadata: Metadata): this;
    /**
     * Set list of waypoints
     *
     * @param waypoints - Points objects
     * @returns {BaseBuilder} self
     */
    setWayPoints(waypoints: Point[]): this;
    /**
     * Set list of routes.
     *
     * @param routes - List of routes
     * @returns {BaseBuilder} self
     */
    setRoutes(routes: Route[]): this;
    /**
     * Set list of tracks.
     *
     * @param tracks - List of tracks
     * @returns {BaseBuilder} self
     */
    setTracks(tracks: Track[]): this;
    /**
     * Set extension Object.
     *
     * @param extensions - Extensions
     * @returns {BaseBuilder} self
     */
    setExtensions(extensions: Extensions): this;
    /**
     * Simple method to set list of points to single track and segment.
     *
     * @param points - list of Points
     * @returns {BaseBuilder} self
     */
    setSegmentPoints(points: Point[]): this;
    /**
     * Object that can be used to build XML file.
     *
     * @returns {GPXBuildData}
     */
    toObject(): GPXBuildData;
}
