import type Collection from "@arcgis/core/core/Collection"; import type { HasVisibilityFilters, VisibilityFilter } from "@vertigis/viewer-spec/app-config/web/HasVisibilityFilters"; /** * An entity whose visibility can be dependent on the user the application. */ export interface HasVisibility extends HasVisibilityFilters { /** * Whether or not the ComponentModel's corresponding component(s) should be * visible to the current user. */ readonly isVisibleToUser?: boolean; /** * Filters that determine whether the ComponentModel is visible to a given * end-user. If both visibleTo and hiddenFrom are undefined/empty, the * component will be visible to all users. */ visibleTo?: Collection; /** * Filters that determine whether the ComponentModel is hidden from a given * end-user. If both visibleTo and hiddenFrom are undefined/empty, the * component will be visible to all users. */ hiddenFrom?: Collection; }