import type Accessor from "../../core/Accessor.js"; import type SharedTemplateMetadata from "../../editing/sharedTemplates/SharedTemplateMetadata.js"; import type FeatureTemplate from "../../layers/support/FeatureTemplate.js"; import type { LayerWithFeatureTemplatesUnion } from "../../layers/types.js"; export interface TemplateItemProperties extends Partial> {} /** * The item displayed within the [FeatureTemplates](https://developers.arcgis.com/javascript/latest/references/core/widgets/FeatureTemplates/) widget. * * @since 4.10 * @see [FeatureTemplates](https://developers.arcgis.com/javascript/latest/references/core/widgets/FeatureTemplates/) * @see [FeatureTemplatesViewModel](https://developers.arcgis.com/javascript/latest/references/core/widgets/FeatureTemplates/FeatureTemplatesViewModel/) * @see [FeatureTemplate](https://developers.arcgis.com/javascript/latest/references/core/layers/support/FeatureTemplate/) * @see [TemplateItemGroup](https://developers.arcgis.com/javascript/latest/references/core/widgets/FeatureTemplates/TemplateItemGroup/) */ export default class TemplateItem extends Accessor { constructor(properties?: TemplateItemProperties); /** * The description that is displayed for the template item. * This is similar to the description provided in [FeatureTemplate.description](https://developers.arcgis.com/javascript/latest/references/core/layers/support/FeatureTemplate/#description). */ accessor description: string | null | undefined; /** * The label that is displayed for the template item. * This is similar to the name provided in [FeatureTemplate.name](https://developers.arcgis.com/javascript/latest/references/core/layers/support/FeatureTemplate/#name). */ accessor label: string | null | undefined; /** The layer associated with the template item. */ accessor layer: LayerWithFeatureTemplatesUnion; /** The associated [FeatureTemplate](https://developers.arcgis.com/javascript/latest/references/core/layers/support/FeatureTemplate/) for the item. */ accessor template: FeatureTemplate | SharedTemplateMetadata; /** * An object used to create a thumbnail image that represents a feature type in the feature template. * This is similar to [FeatureTemplate.thumbnail](https://developers.arcgis.com/javascript/latest/references/core/layers/support/FeatureTemplate/#thumbnail). */ accessor thumbnail: HTMLElement | null | undefined; /** * Creates a deep clone of the template item object. * * @returns Returns a deep clone of the template item. */ clone(): TemplateItem; }