import { UiSettingsParams , UserProvidedValues } from './types' ; import { Logger } from '../logging' ; import { BaseUiSettingsClient } from './base_ui_settings_client' ; export interface UiSettingsDefaultsClientOptions { overrides ? : Record < string , any > ; defaults ? : Record < string , UiSettingsParams > ; log : Logger ; } /**
 * Implementation of the  IUiSettingsClient that only gives a read-only access to the default UI Settings values and any overrides.
  export class UiSettingsDefaultsClient extends BaseUiSettingsClient { private readonly userProvided : Record < string , UserProvidedValues < unknown > > ; constructor ( options ) { super ( options ) ; this . userProvided = Object . fromEntries ( Object . entries ( this . overrides ) . map ( ( [ key , value ] ) => [ key , value === null ? { isOverridden : true } : { isOverridden : true , userValue : value } , ] ) ) ; } async getUserProvided < T = unknown > ( ) { return this . userProvided as Record < string , UserProvidedValues < T > > ; } async setMany ( ) { this . log . warn ( '`setMany` operation is not supported.' ) ; } async set ( ) { this . log . warn ( '`set` operation is not supported.' ) ; } async remove ( ) { this . log . warn ( '`remove` operation is not supported.' ) ; } async removeMany ( ) { this . log . warn ( '`removeMany` operation is not supported.' ) ; } }