import { type DashboardFiltersApplyMode, type IActiveCalendars, type IAiRateLimit, type IAlertDefault, type IDefaultExportTemplate, type IFiscalYear, type IMetricFormatOverrideSetting, type ISeparators } from "@gooddata/sdk-model"; import { type IUserWorkspaceSettings, type IWorkspaceSettings } from "../../common/settings.js"; /** * This service provides access to settings for a particular workspace. * * @public */ export interface IWorkspaceSettingsService { /** * Sets alert default * * @param value - describes parameters for alerting. * * @returns promise */ setAlertDefault(value: IAlertDefault): Promise; /** * Returns effective workspace settings with all inherited values resolved. * * @remarks * The returned settings include values inherited from organization and system defaults, * not just those directly set at the workspace level. User-specific overrides are excluded. * * @returns promise of resolved workspace settings */ getSettings(): Promise; /** * Asynchronously queries feature flags taking into account settings from both the workspace and the current user. * * @returns promise of user/workspace settings */ getSettingsForCurrentUser(): Promise; /** * Sets locale for current workspace. * * @param locale - IETF BCP 47 Code locale ID, for example "en-US", "cs-CZ", etc. * * @returns promise */ setLocale(locale: string): Promise; /** * Sets metadata locale for current workspace. * * @param locale - IETF BCP 47 Code locale ID, for example "en-US", "cs-CZ", etc. * * @returns promise */ setMetadataLocale(locale: string): Promise; /** * Sets format locale for current workspace. * * @param locale - IETF BCP 47 Code locale ID, for example "en-US", "cs-CZ", etc. * * @returns promise */ setFormatLocale(locale: string): Promise; /** * Set separators for the current workspace * * @param separators - separators for the current workspace * * @returns promise */ setSeparators(separators: ISeparators): Promise; /** * Set active LLM endpoint for the organization. * * @param endpoint - id of the LLM endpoint to set as active for the organization. * * @returns promise */ setActiveLlmEndpoint(endpoint: string): Promise; /** * Set active LLM provider for the organization. * * @param provider - id of the LLM provider to set as active for the organization. * @param defaultModelId - id of the default model to set as active for the organization. * * @returns promise * */ setActiveLlmProvider(provider: string, defaultModelId: string): Promise; /** * Sets timezone for current workspace. * * @param timezone - the value based on IANA time zone database naming convention. * for example: "America/Los_Angeles", etc. * * @returns promise */ setTimezone(timezone: string): Promise; /** * Sets whether end users may change the timezone in Analytical Designer and, by default, on dashboards. * * @param enabled - whether end users may change the timezone * * @returns promise * @alpha */ setEnableTimezoneChange(enabled: boolean): Promise; /** * Sets date format for current workspace. * * @param dateFormat - the format based on the ICU standard, for example: "en-US", "cs-CZ", etc. * * @returns promise */ setDateFormat(dateFormat: string): Promise; /** * Sets first day of week for current workspace. * * @param weekStart - "Sunday | "Monday" * * @returns promise */ setWeekStart(weekStart: string): Promise; /** * Sets fiscal calendar for current workspace. * * @param fiscalYear - fiscal year configuration including month offset and optional prefixes. * * @returns promise */ setFiscalCalendar(fiscalYear: IFiscalYear): Promise; /** * Sets active calendars configuration for current workspace. * * @param calendars - configuration for which calendars are enabled and which is the default. * * @returns promise */ setActiveCalendars(calendars: IActiveCalendars): Promise; /** * Sets DashboardFiltersApplyMode configuration for workspace. Default is taken from organization setting. * * @param dashboardFiltersApplyMode - describes new mode for applying dashboard filters. * * @returns promise * @alpha */ setDashboardFiltersApplyMode(dashboardFiltersApplyMode: DashboardFiltersApplyMode): Promise; /** * Clears DashboardFiltersApplyMode configuration for workspace * so default value from organization is used. * * @returns promise * @alpha */ deleteDashboardFiltersApplyMode(): Promise; /** * Sets the default export template applied to slide exports in this workspace when none is explicitly * requested. Default is taken from organization setting. * * @param value - identifier and scope of the export template to use as the default. * * @returns promise * @beta */ setDefaultExportTemplate(value: IDefaultExportTemplate): Promise; /** * Clears the default export template configuration for workspace so the value inherited from the * organization (or the built-in default) is used. * * @returns promise * @beta */ deleteDefaultExportTemplate(): Promise; /** * Sets enable AI on data setting for current workspace. * * @param enabled - whether to enable sending aggregated data to LLM. * * @returns promise * @alpha */ setEnableAiOnData(enabled: boolean): Promise; /** * Sets AI rate limit override for the current workspace. * * @param value - max interactions and rolling time window for AI chat. * * @returns promise * @alpha */ setAiRateLimit(value: IAiRateLimit): Promise; /** * Deletes AI rate limit override for the current workspace, reverting to the organization/platform default. * * @returns promise * @alpha */ deleteAiRateLimit(): Promise; /** * Returns the AI rate limit value owned by the workspace (without resolving inherited defaults). * Returns `undefined` when the workspace has no override. * * @returns promise * @alpha */ getAiRateLimit(): Promise; /** * Gets enable drill to URL by default setting value for workspace. * * @remarks * Returns the workspace-owned value only, not the resolved/inherited value. * Returns `undefined` if no workspace override exists (inherits from organization). * * @returns promise of workspace-owned setting value, or undefined if not set * @alpha */ getEnableDrillToUrlByDefault(): Promise; /** * Gets CSV delimiter setting value for workspace. * * @remarks * Returns the workspace-owned value only, not the resolved/inherited value. * Returns `undefined` if no workspace override exists (inherits from organization). * * @returns promise of workspace-owned setting value, or undefined if not set * @alpha */ getExportCsvCustomDelimiter(): Promise; /** * Sets enable drill to URL by default setting for workspace. Default is taken from organization setting. * * @param enabled - whether to enable drill to URL by default for dashboard widgets. * * @returns promise * @alpha */ setEnableDrillToUrlByDefault(enabled: boolean): Promise; /** * Sets enable partial data results setting for workspace. Default is taken from organization setting. * * @remarks * When enabled, executions that reach a row/column/cell limit return partial data (with limit-break * metadata) instead of failing. * * @param enabled - whether to allow partial data results for executions in this workspace. * * @returns promise * @alpha */ setEnablePartialDataResults(enabled: boolean): Promise; /** * Sets enable null joins setting for workspace. Default is taken from organization setting. * * @remarks * When enabled, generated SQL joins coalesce null values before comparing join keys. * * @param enabled - whether to enable null value matching in SQL joins for this workspace. * * @returns promise * @alpha */ setEnableNullJoins(enabled: boolean): Promise; /** * Sets enable query tags setting for workspace. Default is taken from organization setting. * * @param enabled - whether to enable query tags for this workspace. * * @returns promise * @alpha */ setEnableQueryTags(enabled: boolean): Promise; /** * Sets default CSV delimiter for exports in workspace. Default is taken from organization setting. * * @param delimiter - single character delimiter to use for CSV exports. * * @returns promise * @alpha */ setExportCsvCustomDelimiter(delimiter: string): Promise; /** * Clears enable drill to URL by default configuration for workspace * so default value from organization is used. * * @returns promise * @alpha */ deleteEnableDrillToUrlByDefault(): Promise; /** * Clears workspace CSV delimiter configuration so default value from organization is used. * * @returns promise * @alpha */ deleteExportCsvCustomDelimiter(): Promise; /** * Sets color palette for current workspace. * * @param colorPaletteId - ID of the color palette to apply to charts in workspace. * * @returns promise */ setColorPalette(colorPaletteId: string): Promise; /** * Sets theme for current workspace. * * @param themeId - ID of the theme to apply to the current workspace. * * @returns promise */ setTheme(themeId: string): Promise; /** * Deletes theme from workspace settings returning workspace styling to default. * * @returns promise */ deleteTheme(): Promise; /** * Deletes color palette from workspace settings returning chart colors to default. * * @returns promise */ deleteColorPalette(): Promise; /** * Sets metric format override for the current workspace. * * @param override - mapping of metric types to custom format strings. * * @returns promise */ setMetricFormatOverride(override: IMetricFormatOverrideSetting): Promise; /** * Deletes metric format override from workspace settings, * returning to inherited organization-level format. * * @returns promise */ deleteMetricFormatOverride(): Promise; } //# sourceMappingURL=index.d.ts.map