import { HttpClient } from '@sisense/sdk-rest-client'; import { AppConfig, ThemeSettings } from '../../../types'; import { FeatureMap } from './types/features.js'; /** * Application settings * * @sisenseInternal */ export type AppSettings = Required & ServerSettings; /** * Application settings that can be overridden by the user */ type ConfigurableAppSettings = AppConfig; /** * User role permissions * @internal */ type RoleManifest = { dashboards?: { create: boolean; delete: boolean; move: boolean; rename: boolean; duplicate: boolean; change_owner: boolean; toggle_edit_mode: boolean; edit_layout: boolean; edit_script: boolean; export_dash: boolean; export_jpeg: boolean; export_image: boolean; export_pdf: boolean; share: boolean; restore: boolean; copy_to_server: boolean; import: boolean; select_palette: boolean; replace_datasource: boolean; undo_import_dash: boolean; toggleDataExploration: boolean; filters: { create: boolean; delete: boolean; save: boolean; on_off: boolean; toggle_expansion: boolean; modify: boolean; reorder: boolean; modify_type: boolean; toggle_auto_update: boolean; set_defaults: boolean; advanced: boolean; use_starred: boolean; modify_filter_relationship: boolean; }; }; }; /** * Fusion platform settings */ type ServerSettings = { serverThemeSettings: ThemeSettings; serverLanguage: string; serverVersion: string; serverFeatures: FeatureMap; isUnifiedNarrationEnabled?: boolean; isSisenseAiEnabled?: boolean; user: { tenant: { name: string; }; /** * User role permissions * @internal */ permissions: RoleManifest; }; }; /** * Gets the application settings * * @param customConfig - Custom application configuration * @param httpClient - Sisense REST API client * @param isWat - Whether the application is running with WAT authentication * @returns - Application settings */ export declare function getSettings(customConfig: ConfigurableAppSettings, httpClient: Pick, useDefaultPalette?: boolean): Promise; export {};