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

export interface VoxelVariableProperties extends JSONSupportMixinProperties {}

/**
 * Describes a single variable in the [VoxelLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-VoxelLayer.html).
 *
 * @since 4.24
 */
export default class VoxelVariable extends JSONSupport {
  constructor(properties?: VoxelVariableProperties);
  /**
   * The original data source description of the variable.
   *
   * @default ""
   */
  get description(): string;
  /** The unique identifier for the variable. */
  get id(): number;
  /** The original data source name of the variable. */
  get name(): string;
  /** A description of various properties of the variable as it is represented on the GPU. */
  get renderingFormat(): VoxelFormat;
  /**
   * The variable units.
   *
   * @default ""
   */
  get unit(): string;
  /**
   * The volumeId of the variable. Currently always 0.
   *
   * @default 0
   */
  get volumeId(): number;
}