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

export interface AttributeTableAttachmentElementProperties extends AttributeTableElementProperties {}

/**
 * An `AttributeTableAttachmentElement` defines how attachments display within a [FeatureTable](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html).
 *
 * @since 4.31
 * @see [FeatureTable](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html)
 * @see [AttributeTableTemplate](https://developers.arcgis.com/javascript/latest/api-reference/esri-tables-AttributeTableTemplate.html)
 */
export default class AttributeTableAttachmentElement extends AttributeTableAttachmentElementSuperclass {
  constructor(properties?: AttributeTableAttachmentElementProperties);
  /**
   * The display type of the attachment element in the table. Currently, `auto` is the only supported value.
   *
   * | Value    | Description |
   * | ------ | ----------- |
   * | auto     | If a feature layer's capabilities supports [resizing attachments](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html#capabilities), the popup will display a preview thumbnail of the attachments. If not, it will display it as a list.|
   *
   * @default "auto"
   */
  get displayType(): "auto";
  /** The type of the attribute table [element](https://developers.arcgis.com/javascript/latest/api-reference/esri-tables-elements-AttributeTableElement.html). */
  get type(): "attachment";
  /**
   * Creates a deep clone of the AttributeTableAttachmentElement class.
   *
   * @returns A deep clone of the AttributeTableAttachmentElement instance.
   */
  clone(): this;
}
declare const AttributeTableAttachmentElementSuperclass: typeof AttributeTableElement & typeof ClonableMixin