/** @since 5.0 */
export type AttachmentsDisplay = "auto" | "preview" | "list";

/** @since 5.0 */
export interface Operations {
  /**
   * Indicates whether to allow adding attachments. Default value is `true`.
   *
   * @since 5.0
   */
  add?: boolean;
  /**
   * Indicates whether to allow deleting an existing attachment. Default value is `true`.
   *
   * @since 5.0
   */
  delete?: boolean;
  /**
   * Indicates whether to allow updating an existing attachment. Default value is `true`.
   *
   * @since 5.0
   */
  update?: boolean;
}

/**
 * An object that specifies the available attachments capabilities.
 *
 * @since 5.0
 */
export interface AttachmentsCapabilities {
  /**
   * Indicates whether to allow attachment editing. The feature layer must be enabled to support editing. Default value is `false`.
   *
   * @since 5.0
   */
  editing?: boolean;
  /**
   * Describes the configurable attachments operations. See the object specification below.
   *
   * @since 5.0
   */
  operations?: Operations;
}