import { BatchEventAttributes } from './BatchEventAttributes'; import { BatchProfileAttributeEditor } from './BatchProfileAttributeEditor'; /** * Represents a locations, using lat/lng coordinates */ export interface Location { /** * Latitude */ latitude: number; /** * Longitude */ longitude: number; /** * Date of the tracked location */ date?: Date; /** * Precision radius in meters */ precision?: number; } /** * Batch's user module */ export declare const BatchProfile: { /** * Creates a new instance of BatchProfileAttributeEditor * @function * @returns {BatchProfileAttributeEditor} A new instance of BatchProfileAttributeEditor */ editor: () => BatchProfileAttributeEditor; /** * Identifies this device with a profile using a Custom User ID. * @param {string | null} identifier - Custom user ID of the profile you want to identify against. * If a profile already exists, this device will be attached to it. Must not be longer than 1024 characters. */ identify: (identifier: string | null) => void; /** * Track an event. Batch must be started at some point, or events won't be sent to the server. * @param name The event name. Must be a string. * @param data The event attributes (optional). Must be an object. */ trackEvent: (name: string, data?: BatchEventAttributes) => Promise; /** * Track a geolocation update * You can call this method from any thread. Batch must be started at some point, or location updates won't be sent to the server. * @param location User location object */ trackLocation: (location: Location) => void; };