import BaseMessage, { BaseInput, MessageTypes } from './Base'; /** * Represents a location input message. * * Extends the BaseInput interface to include location-specific details for * message types related to geographical data. * * Properties: * - `type`: Specifies the type of message, which is set to MessageTypes.LOCATION * indicating this input pertains to a geographical location. * - `latitude`: A string representing the latitude of the location. * - `longitude`: A string representing the longitude of the location. * - `name`: A string that holds the name of the location. This can be a user-friendly * name or title associated with the location. * - `address`: A string depicting the address of the location. It provides a human-readable * address for better understanding and context of the geographical point. */ export interface LocationInput extends BaseInput { type: MessageTypes.LOCATION; latitude: string; longitude: string; name: string; address: string; } /** * Represents a geographic location with a set of attributes. * * The Location class provides properties to describe a specific * place using latitude and longitude coordinates, a name, and an * address. It is primarily used to store and retrieve location * details. * * @class * @param {LocationInput} config - An object containing initialization data * @property {string} latitude - The latitude coordinate of the location * @property {string} longitude - The longitude coordinate of the location * @property {string} name - The name of the location * @property {string} address - The address of the location */ declare class Location { latitude: string; longitude: string; name: string; address: string; /** * Constructs a new instance with the provided location configuration. * * @param {LocationInput} config - The configuration object for the location. * @param {number} config.latitude - The latitude of the location. * @param {number} config.longitude - The longitude of the location. * @param {string} config.name - The name of the location. * @param {string} config.address - The address of the location. */ constructor(config: LocationInput); } /** * Represents a message containing location data, extending from BaseMessage. * * The LocationMessage class provides functionality to handle messages * that include geographical location information. It utilizes the Location * class to encapsulate the specific location details. * * Upon instantiation, a LocationMessage object initializes its properties * based on the provided configuration. */ export declare class LocationMessage extends BaseMessage { location: Location; /** * Constructs a new instance of the class using the provided configuration. * * @param {LocationInput} config - The configuration object used to initialize location settings. */ constructor(config: LocationInput); } export {};