import type Accessor from "../../core/Accessor.js";

/** @since 5.0 */
export interface VisibleElementsProperties extends Partial<Pick<VisibleElements, "filter">> {}

/**
 * The visible elements that are displayed within the widget.
 * This provides the ability to turn individual elements of the widget's display on/off.
 *
 * @since 5.0
 */
export default class VisibleElements extends Accessor {
  constructor(properties?: VisibleElementsProperties);
  /**
   * Indicates whether the [templates filter](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTemplates.html#visibleElements) displays.
   *
   * @default true
   * @since 5.0
   */
  accessor filter: boolean;
}