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

export interface FeatureReferenceIdProperties {}

/**
 * A unique identifier of a feature inside a layer.
 * There are multiple feature id types:
 *
 * * [FeatureReferenceObjectId](https://developers.arcgis.com/javascript/latest/references/core/webscene/support/FeatureReferenceObjectId/)
 * * [FeatureReferenceGlobalId](https://developers.arcgis.com/javascript/latest/references/core/webscene/support/FeatureReferenceGlobalId/)
 *
 * The `FeatureReferenceId` class is a read-only base class which has no constructor.
 *
 * @since 4.33
 */
export default class FeatureReferenceId extends FeatureReferenceIdSuperclass {
  constructor(properties?: FeatureReferenceIdProperties);
  /**
   * A string value representing the feature id type.
   *
   * @since 4.33
   */
  get type(): FeatureIdType;
}
declare const FeatureReferenceIdSuperclass: typeof JSONSupport & typeof ClonableMixin

export type FeatureIdType = "global-id" | "object-id";