import type PublishingInfo from "../support/PublishingInfo.js"; export interface PublishableLayerProperties {} /** * Mixin for layers that expose the publishing status of the underlying service. * * @since 4.25 */ export abstract class PublishableLayer { constructor(...args: any[]); /** * Checks layer's publishing status while the layer is being published to the portal. * This stops when the status has been determined or when the layer is destroyed. * The layer is automatically refreshed when the layer is done publishing. * This is valid only for [ArcGIS Online hosted feature services](https://doc.arcgis.com/en/arcgis-online/share-maps/hosted-web-layers.htm). * * @since 4.25 * @example * // Log the current publishing status after each checks. * when( * () => !layer.publishingInfo.updating, * (status) => { * switch (layer.publishingInfo.status) { * case "unknown": * console.log("The layer's publishing status is unknown at this point"); * break; * case "unavailable": * console.log("The layer doesn't provide publishing information"); * break; * case "publishing": * console.log("Layer is publishing"); * break; * case "published": * console.log("Layer is published at", layer.url); * break; * } * }, * { initial: true } * ); */ get publishingInfo(): PublishingInfo | null; } /** * Layer's publishing status while the layer is being published to the portal. * The layer is automatically refreshed when the status goes from `publishing` to `unavailable` or `published`. * * **Possible Values** * Value | Description | * ----- | ----------- | * unknown | The layer's publishing status is unknown at this point. * unavailable | The layer doesn't provide publishing information. * publishing | The publishing is in progress. * published | The layer is published and ready for consumption. * * * @see [PublishingInfo.status](https://developers.arcgis.com/javascript/latest/references/core/layers/support/PublishingInfo/#status) */ export type PublishStatus = "unknown" | "unavailable" | "publishing" | "published";