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

export interface NonspatialDataDisplayProperties extends JSONSupportMixinProperties, ClonableMixinProperties, Partial<Pick<NonspatialDataDisplay, "mode">> {}

/**
 * Object that defines instructions on the visualization of nonspatial link chart data.
 * Link charts can contain both spatial and nonspatial records. Spatial records are entities with geometry and relationships that
 * connect two spatial entities (both the relationship origin and destination entities have geometry). Nonspatial records are entities without
 * geometry (even if they are a member of a spatially enabled entity type) and relationships that have at least one endpoint with no geometry.
 *
 * @since 4.32
 * @see [Web Map Specification | Link chart layout settings](https://developers.arcgis.com/web-map-specification/objects/nonspatialDataDisplay/)
 */
export default class NonspatialDataDisplay extends NonspatialDataDisplaySuperclass {
  constructor(properties?: NonspatialDataDisplayProperties);
  /**
   * Mode for how nonspatial information should be displayed.
   *
   * @default "visible"
   */
  accessor mode: "hidden" | "visible";
}
declare const NonspatialDataDisplaySuperclass: typeof JSONSupport & typeof ClonableMixin