export default GPX; export type GPXLink = { /** * text */ text?: string | undefined; /** * type */ type?: string | undefined; }; export type GPXAuthor = { /** * name */ name?: string | undefined; /** * email */ email?: string | undefined; /** * link */ link?: GPXLink | undefined; }; export type GPXMetadata = { /** * name */ name?: string | undefined; /** * desc */ desc?: string | undefined; /** * author */ author?: GPXAuthor | undefined; /** * link */ link?: GPXLink | undefined; /** * time */ time?: number | undefined; /** * keywords */ keywords?: string | undefined; /** * bounds */ bounds?: number[] | undefined; /** * extensions */ extensions?: any; }; export type GPXCopyright = { /** * author */ author?: string | undefined; /** * year */ year?: number | undefined; /** * license */ license?: string | undefined; }; export type Options = { /** * Callback function * to process `extensions` nodes. To prevent memory leaks, this callback function must * not store any references to the node. Note that the `extensions` * node is not allowed in GPX 1.0. Moreover, only `extensions` * nodes from `wpt`, `rte` and `trk` can be processed, as those are * directly mapped to a feature. */ readExtensions?: ((arg0: Feature, arg1: Node) => void) | undefined; }; export type LayoutOptions = { /** * HasZ. */ hasZ?: boolean | undefined; /** * HasM. */ hasM?: boolean | undefined; }; export type ReadExtensions = (arg0: Feature, arg1: Node) => void; /** * @typedef {Object} Options * @property {function(Feature, Node):void} [readExtensions] Callback function * to process `extensions` nodes. To prevent memory leaks, this callback function must * not store any references to the node. Note that the `extensions` * node is not allowed in GPX 1.0. Moreover, only `extensions` * nodes from `wpt`, `rte` and `trk` can be processed, as those are * directly mapped to a feature. */ /** * @typedef {Object} LayoutOptions * @property {boolean} [hasZ] HasZ. * @property {boolean} [hasM] HasM. */ /** * @typedef {function(Feature, Node): void} ReadExtensions */ /** * @classdesc * Feature format for reading and writing data in the GPX format. * * Note that {@link module:ol/format/GPX~GPX#readFeature} only reads the first * feature of the source. * * When reading, routes (``) are converted into LineString geometries, and * tracks (``) into MultiLineString. Any properties on route and track * waypoints are ignored. * * When writing, LineString geometries are output as routes (``), and * MultiLineString as tracks (``). * * @api */ declare class GPX extends XMLFeature { /** * @param {Options} [options] Options. */ constructor(options?: Options); /** * @type {ReadExtensions|undefined} * @private */ private readExtensions_; /** * @param {Array} features List of features. * @private */ private handleReadExtensions_; /** * Reads a GPX file's metadata tag, reading among other things: * - the name and description of this GPX * - its author * - the copyright associated with this GPX file * * Will return null if no metadata tag is present (or no valid source is given). * * @param {Document|Element|Object|string} source Source. * @return {GPXMetadata | null} Metadata * @api */ readMetadata(source: Document | Element | any | string): GPXMetadata | null; /** * @param {Document} doc Document. * @return {GPXMetadata | null} Metadata */ readMetadataFromDocument(doc: Document): GPXMetadata | null; /** * @param {Element} node Node. * @return {Object} Metadata */ readMetadataFromNode(node: Element): any; } import Feature from '../Feature.js'; import XMLFeature from './XMLFeature.js'; //# sourceMappingURL=GPX.d.ts.map