/// import { IGoogleMapsFeature } from '../feature/i-google-maps-feature'; /** * Automates and facilitates tracking of geometry features in a data layer. * * @export * @class FeatureTracker */ export declare class FeatureTracker { /** * The list of features that are currently present on the data layer. * * @type {IGoogleMapsFeature[]} */ readonly list: IGoogleMapsFeature[]; /** * Registeres a feature as added. * * @param {IGoogleMapsFeature} feature */ add(feature: IGoogleMapsFeature): void; /** * Unregisteres a removed feature from the tracker. * * @param {(google.maps.Data.Feature)} feature The feature to remove from the list. * @returns {IGoogleMapsFeature} The removed feature or `null` if not found. */ remove(feature: google.maps.Data.Feature): IGoogleMapsFeature; /** * Unregisteres a removed feature from the tracker. * * @param {(IGoogleMapsFeature)} feature The feature to remove from the list. * @returns {IGoogleMapsFeature} The removed feature or `null` if not found. */ remove(feature: IGoogleMapsFeature): IGoogleMapsFeature; /** * Unregisteres a removed feature from the tracker. * * @param {(string | number)} featureId The id of the feature to remove from the list. * @returns {IGoogleMapsFeature} The removed feature or `null` if not found. */ remove(featureId: string | number): IGoogleMapsFeature; /** * @ignore */ remove(featureOrId: string | number | google.maps.Data.Feature | IGoogleMapsFeature): IGoogleMapsFeature; /** * `true` if the tracker doesn't have any features registered; otherwise `false`. * * @readonly * @type {boolean} */ get isEmpty(): boolean; /** * `true` if the tracker has at least one registered feature; otherwise `false`. * * @readonly * @type {boolean} */ get hasFeatures(): boolean; }