import type { JSONSupport } from "../../core/JSONSupport.js";

export interface SuggestionCandidateProperties extends Partial<Pick<SuggestionCandidate, "isCollection" | "magicKey" | "text">> {}

/**
 * Describes the object representing the result of the
 * [suggestLocations()](https://developers.arcgis.com/javascript/latest/api-reference/esri-rest-locator.html#suggestLocations) method.
 *
 * @since 5.0
 */
export default class SuggestionCandidate extends JSONSupport {
  constructor(properties?: SuggestionCandidateProperties);
  /**
   * Indicates if the result is a Collection.
   *
   * @since 5.0
   */
  accessor isCollection: boolean | null;
  /**
   * ID used in combination with the `text` property
   *                    to uniquely identify a suggestion.
   *
   * @since 5.0
   */
  accessor magicKey: string | null;
  /**
   * The string name of the suggested location to geocode.
   *
   * @since 5.0
   */
  accessor text: string | null;
}