///
import type Graphic from "@arcgis/core/Graphic.js";
import type MapView from "@arcgis/core/views/MapView.js";
import type { ILayerItemsHash, IReportingOptions } from "../../utils/interfaces.js";
import type { PublicLitElement as LitElement } from "@arcgis/lumina";
export abstract class FeatureDetails extends LitElement {
/**
* When true the snapping options will be exposed
*
* @default false
*/
accessor enableSnapping: boolean;
/** esri/Graphic: https://developers.arcgis.com/javascript/latest/api-reference/esri-Graphic.html */
accessor graphics: Graphic[];
/** ILayerItemsHash: LayerDetailsHash for each layer in the map */
accessor layerItemsHash: ILayerItemsHash | undefined;
/** esri/views/MapView: https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html */
accessor mapView: MapView | undefined;
/** IReportingOptions: Key options for reporting */
accessor reportingOptions: IReportingOptions | undefined;
/**
* boolean: When false comment will shown in single line in the comments list
*
* @default true
*/
accessor showFullCommentTitle: boolean;
/**
* boolean: When true the profile image of the comment creator will be shown in the comments list
*
* @default false
*/
accessor showUserImageInCommentsList: boolean;
/** Go to the previous feature in the features widget */
back(): Promise;
/** Go to the next feature in the features widget */
next(): Promise;
/**
* Refresh the features comments which will fetch like, dislike and update the component
*
* @param graphic
* @returns Promise that resolves when the operation is complete
*/
refresh(graphic?: Graphic): Promise;
/** Toggle the visibility of the features list view */
toggleListView(): Promise;
/** Emitted on demand when comment icon is clicked */
readonly addComment: import("@arcgis/lumina").TargetedEvent;
/** Emitted on demand when comment is clicked using the feature-list */
readonly commentClick: import("@arcgis/lumina").TargetedEvent;
/** Emitted on demand when comment is selected using the feature-list */
readonly commentSelect: import("@arcgis/lumina").TargetedEvent;
/** Emitted on demand when the selected index changes */
readonly featureSelectionChange: import("@arcgis/lumina").TargetedEvent;
/** Emitted on demand when like or dislike button is clicked */
readonly likeOrDislikeClicked: import("@arcgis/lumina").TargetedEvent;
/** Emitted on demand when like or dislike button is clicked */
readonly loadingStatus: import("@arcgis/lumina").TargetedEvent;
readonly "@eventTypes": {
addComment: FeatureDetails["addComment"]["detail"];
commentClick: FeatureDetails["commentClick"]["detail"];
commentSelect: FeatureDetails["commentSelect"]["detail"];
featureSelectionChange: FeatureDetails["featureSelectionChange"]["detail"];
likeOrDislikeClicked: FeatureDetails["likeOrDislikeClicked"]["detail"];
loadingStatus: FeatureDetails["loadingStatus"]["detail"];
};
}