import type PortalItem from "../../portal/PortalItem.js";
import type { Clonable } from "../../core/Clonable.js";
import type { JSONSupportMixin } from "../../core/JSONSupport.js";
import type { PortalItemProperties } from "../../portal/PortalItem.js";

export interface ParquetPortalItemDataProperties {
  /** The portal item containing the Parquet data. */
  portalItem?: PortalItemProperties;
}

/**
 * Sets an ArcGIS Online [portalItem](https://developers.arcgis.com/javascript/latest/references/core/portal/PortalItem/) as the [data](https://developers.arcgis.com/javascript/latest/references/core/layers/ParquetLayer/#data)
 * source for a [ParquetLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/ParquetLayer/).
 *
 * @example
 * // Create a parquet layer from arcgis online portal item
 * const layer = new ParquetLayer({
 *   data: new ParquetPortalItemData({
 *     portalItem: {
 *       id: "6ab6f959c1684eb5a54db91644a89747",
 *     },
 *   }),
 * });
 * @since 5.1
 * @beta
 * @see [ParquetLayer.data](https://developers.arcgis.com/javascript/latest/references/core/layers/ParquetLayer/#data)
 */
export default class ParquetPortalItemData extends ParquetPortalItemDataSuperclass {
  constructor(properties?: ParquetPortalItemDataProperties);
  /** The portal item containing the Parquet data. */
  get portalItem(): PortalItem;
  set portalItem(value: PortalItemProperties);
  /** The type of data source. */
  get type(): "portal-item";
}
declare const ParquetPortalItemDataSuperclass: typeof Clonable & typeof JSONSupportMixin