import type Domain from "./Domain.js";
import type { DomainProperties } from "./Domain.js";

export interface InheritedDomainProperties extends DomainProperties {}

/**
 * This is a subclass of [Domain](https://developers.arcgis.com/javascript/latest/references/core/layers/support/Domain/).
 * Inherited domains apply to domains at the [feature type](https://developers.arcgis.com/javascript/latest/references/core/layers/support/FeatureType/) level.
 * It implies that the domain for a given field at the feature type level is the same as the domain for the field at the layer level.
 *
 * @since 4.0
 * @see [Domain Objects - ArcGIS Server REST API](https://developers.arcgis.com/documentation/common-data-types/domain-objects.htm)
 * @see [CodedValueDomain](https://developers.arcgis.com/javascript/latest/references/core/layers/support/CodedValueDomain/)
 * @see [RangeDomain](https://developers.arcgis.com/javascript/latest/references/core/layers/support/RangeDomain/)
 */
export default class InheritedDomain extends Domain {
  constructor(properties?: InheritedDomainProperties);
  /** The domain type. */
  get type(): "inherited";
}