import type { JSONSupport } from "../../../../core/JSONSupport.js";
import type { UnitRange, UnitIdentifier } from "../../../../networks/support/jsonTypes.js";

export interface UnitQueryResultProperties extends Partial<Pick<UnitQueryResult, "container" | "ranges">> {}

/**
 * The result of a unit identifier [UnitIdentifierManager.query()](https://developers.arcgis.com/javascript/latest/references/core/networks/UnitIdentifierManager/#query) operation on a particular unit
 * container in a telecom domain network.
 *
 * @beta
 * @since 4.34
 * @see [UtilityNetwork](https://developers.arcgis.com/javascript/latest/references/core/networks/UtilityNetwork/)
 * @see [UnitIdentifierManager](https://developers.arcgis.com/javascript/latest/references/core/networks/UnitIdentifierManager/)
 */
export default class UnitQueryResult extends JSONSupport {
  constructor(properties?: UnitQueryResultProperties);
  /** The unit container feature or object that was queried. */
  accessor container: UnitIdentifier;
  /** Information about the ranges of unit identifiers in the container feature's containment hierarchy. */
  accessor ranges: UnitRange[];
}