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

/** @since 5.0 */
export interface SlideVisibleLayerProperties extends Partial<Pick<SlideVisibleLayer, "id" | "sublayerIds">> {}

/** @since 5.0 */
export default class SlideVisibleLayer extends SlideVisibleLayerSuperclass {
  constructor(properties?: SlideVisibleLayerProperties);
  /**
   * The ID of a [Layer.id](https://developers.arcgis.com/javascript/latest/references/core/layers/Layer/#id)
   * in the [WebScene.layers](https://developers.arcgis.com/javascript/latest/references/core/WebScene/#layers) or [Ground.layers](https://developers.arcgis.com/javascript/latest/references/core/Ground/#layers)
   * that is made `visible` in the [SceneView](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/) when
   * the slide is applied to the view.
   *
   * @default ""
   * @since 5.0
   */
  accessor id: string;
  /**
   * The service ids of the visible sublayers on the
   * layer specified by the layer id. If this is not present, the visibilities of the
   * sublayers are not changed when applying the slide.
   *
   * @since 5.0
   */
  accessor sublayerIds: number[] | null;
}
declare const SlideVisibleLayerSuperclass: typeof JSONSupport & typeof ClonableMixin