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/references/core/widgets/FeatureTable/).
 *
 * @since 4.31
 * @see [FeatureTable](https://developers.arcgis.com/javascript/latest/references/core/widgets/FeatureTable/)
 * @see [AttributeTableTemplate](https://developers.arcgis.com/javascript/latest/references/core/tables/AttributeTableTemplate/)
 */
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/references/core/layers/FeatureLayer/#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/references/core/tables/elements/AttributeTableElement/). */
  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