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

export interface VoxelVariableProperties {}

/**
 * Describes a single variable in the [VoxelLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/VoxelLayer/).
 *
 * @since 4.24
 * @see [Sample - VoxelLayer variable and render mode](https://developers.arcgis.com/javascript/latest/sample-code/layers-voxel-variable/)
 */
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;
}