import { UserSettingsType } from '@app/core/services/user-settings/user-settings.service'; import { Guid } from '@common/types/guid'; export interface UserSetting { id: Guid; name: string; type: UserSettingsType; value: any; createdAt: Date; updatedAt: Date; hash: string; userId: Guid; isDefault?: boolean; } export interface UserSettings { key: string; settings: UserSetting[]; defaultSetting: UserSetting; } export interface UserSettingPersist { id: Guid; name: string; key: string; type: UserSettingsType; value: string; hash: string; isDefault: boolean; } export interface UserSettingsKey { key: string; } //TODO possible move these export interface UserSettingsInformation { key: string; type: UserSettingsBuilder; } export type UserSettingsBuilder = new () => T; export interface UserSettingsLookupBuilder { update(lookup: T); apply(lookup: T): T; }