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

export interface NetworkUrlProperties extends Partial<Pick<NetworkUrl, "doNotLocateOnRestrictedElements" | "url">> {}

/**
 * An input type for Route, Closest Facility, and Service Area solvers.
 *
 * @since 4.21
 * @see [closestFacility](https://developers.arcgis.com/javascript/latest/references/core/rest/closestFacility/)
 * @see [route](https://developers.arcgis.com/javascript/latest/references/core/rest/route/)
 * @see [serviceArea](https://developers.arcgis.com/javascript/latest/references/core/rest/serviceArea/)
 */
export default class NetworkUrl extends NetworkUrlSuperclass {
  constructor(properties?: NetworkUrlProperties);
  /** If true, restricted network elements should be considered when finding network locations. */
  accessor doNotLocateOnRestrictedElements: boolean | null | undefined;
  /** A url to any ArcGIS Server feature, map, or geoprocessing service that returns a JSON feature set. */
  accessor url: string | null | undefined;
}
declare const NetworkUrlSuperclass: typeof JSONSupport & typeof ClonableMixin