import type Collection from "@arcgis/core/core/Collection"; import type { BrandingModelProperties, UIDensity } from "@vertigis/viewer-spec/app-config/common/BrandingModelProperties"; import type { ConfigurableService } from "../services"; import type { BrandingTheme } from "./BrandingTheme"; /** * A service that controls the branding for the application. */ export interface BrandingService extends ConfigurableService { /** * The currently active theme. */ activeTheme: BrandingTheme; /** * Specifies the UI density of the application. */ density: UIDensity; /** * A collection of branding themes to choose from. */ readonly themes: ThemeCollection; } /** * A collection of branding themes. */ export interface ThemeCollection extends Collection { /** * Finds a theme by ID. * * @param id The ID of the theme to find. */ findById(id: string): BrandingTheme; /** * @inheritdoc */ remove(theme: string | BrandingTheme): BrandingTheme; }