import type { ServiceModelProperties } from "../common/ServiceModelProperties";
import type { FeatureListProperties } from "./FeatureListProperties.js";
/**
 * Values depicting part of the Popup Template that can be reordered.
 */
export type PopupOrderElement = "popup-content" | "hyperlinks";
/**
 * Properties to pass into the ViewSettings constructor.
 */
export interface ViewSettingsProperties {
    /**
     * Whether to hide fields when they have null/empty values.
     */
    hideNullFields?: boolean;
    /**
     * The order of the popup elements within the results view. Excluded
     * elements will not appear. In details views, the default is:
     * ["popup-content", "hyperlinks"]. In summary views, the default is:
     * ["popup-content"].
     */
    popupOrder?: PopupOrderElement[];
}
/**
 * @inheritdoc
 */
export interface ResultsServiceModelProperties extends ServiceModelProperties {
    /**
     * The name results list stored in the service. This property is only
     * serialized into saved projects.
     */
    results?: Record<string, FeatureListProperties>;
    /**
     * Settings that configure the way Result details are displayed in a
     * detailed view.
     */
    detailsViewSettings?: ViewSettingsProperties;
    /**
     * Settings that configure the way Result details are displayed in a summary
     * view.
     */
    summaryViewSettings?: ViewSettingsProperties;
    /**
     * The size of the summary card within the UI, in pixels. Setting a constant
     * size for summary cards optimizes the performance when displaying many
     * results in a virtualized list.
     */
    summaryCardHeight?: number;
}
