export enum Feature {
    ChartkitAlerts = 'chartkitAlerts',
    UseConfigurableChartkit = 'UseConfigurableChartkit',
    AsideHeaderEnabled = 'AsideHeaderEnabled',
    FieldEditorDocSection = 'FieldEditorDocSection',
    UsePublicDistincts = 'UsePublicDistincts',
    EnablePublishEntry = 'EnablePublishEntry',
    EnableChartEditorDocs = 'EnableChartEditorDocs',
    EnableSaveAsEditorScript = 'EnableSaveAsEditorScript',
    EnableCustomMonitoring = 'EnableCustomMonitoring',
    EnableDashChartStat = 'EnableDashChartStat',
    EnableAutocreateDataset = 'EnableAutocreateDataset',
    ShowCreateEntryWithMenu = 'ShowCreateEntryWithMenu',
    RevisionsListNoLimit = 'RevisionsListNoLimit',
    AuthUpdateWithTimeout = 'AuthUpdateWithTimeout',
    UseComponentHeader = 'UseComponentHeader',
    FetchDocumentation = 'FetchDocumentation',
    Comments = 'Comments',
    // Check access rights when processing ChartEditor charts
    ChartEditorDeveloperModeCheck = 'ChartEditorDeveloperModeCheck',
    QLPrometheus = 'QLPrometheus',
    QLMonitoring = 'QLMonitoring',
    CollectionsEnabled = 'CollectionsEnabled',
    CollectionsAccessEnabled = 'CollectionsAccessEnabled',
    DashBoardSupportDescription = 'DashBoardSupportDescription',
    // Show request body in the Inspector dialog
    ShowInspectorDetails = 'ShowInspectorDetails',
    // Prohibiting the serialization of functions in the chart configs
    NoJsonFn = 'NoJsonFn',
    DatasetsRLS = 'DatasetsRLS',
    // The ability to upload xlsx files for file connections
    XlsxFilesEnabled = 'XlsxFilesEnabled',
    XlsxChartExportEnabled = 'XlsxChartExportEnabled',
    HolidaysOnChart = 'HolidaysOnChart',
    ReadOnlyMode = 'ReadOnlyMode',
    MenuItemsFlatView = 'MenuItemsFlatView',
    EntryMenuItemCopy = 'EntryMenuItemCopy',
    EntryMenuItemMove = 'EntryMenuItemMove',
    ExternalSelectors = 'ExternalSelectors',
    DashBoardWidgetParamsStrictValidation = 'DashBoardWidgetParamsStrictValidation',
    HideMultiDatasets = 'HideMultiDatasets',
    ShouldCheckEditorAccess = 'ShouldCheckEditorAccess',
    HideMultitenant = 'HideMultitenant',
    EnableMobileHeader = 'EnableMobileHeader',
    UseYqlFolderKey = 'UseYqlFolderKey',
    ShowChartsEngineDebugInfo = 'ShowChartsEngineDebugInfo',
    UseChartsEngineResponseConfig = 'UseChartsEngineResponseConfig',
    UseChartsEngineLogin = 'UseChartsEngineLogin',
    CopyEntriesToWorkbook = 'CopyEntriesToWorkbook',
    QlAutoExecuteMonitoringChart = 'QlAutoExecuteMonitoringChart',
    MultipleColorsInVisualization = 'MultipleColorsInVisualization',
    ConnectionBasedControl = 'ConnectionBasedControl',
    EnableServerlessEditor = 'EnableServerlessEditor',
    EnableFooter = 'EnableFooter',
    MassRemoveCollectionsWorkbooks = 'MassRemoveCollectionsWorkbooks',
    EnableEmbedsInDialogShare = 'EnableEmbedsInDialogShare',
    EnableEntryMenuItemShare = 'EnableEntryMenuItemShare',
    NewTableWidgetForCE = 'NewTableWidgetForCE',
    /** E2E tests mode with collections */
    CollectionsE2ETestsMode = 'CollectionsE2ETestsMode',
    /** Disable the use of html and function in chart configs */
    DisableFnAndHtml = 'DisableFnAndHtml',
    /** Enables export menu item for downloading workbook config and import button
     * when creating a workbook */
    EnableExportWorkbookFile = 'EnableExportWorkbookFile',
    /** Enable using RLS v2 config for datasets */
    EnableRLSV2 = 'EnableRLSV2',
    /* Enable Dash server entry validation */
    DashServerValidationEnable = 'DashServerValidationEnable',
    /* Enable Dash server entry migrations */
    DashServerMigrationEnable = 'DashServerMigrationEnable',
    /** Enable custom dashboard gaps */
    EnableCustomDashMargins = 'EnableCustomDashMargins',
    /** Enabled Dash elements auto-focus */
    EnableDashAutoFocus = 'EnableDashAutoFocus',
    /** Enable export settings in connections & datasets */
    EnableExportSettings = 'EnableExportSettings',
    /** Enable updating dataset settings by action ('load_preview_by_default' | 'template_enabled' | 'data_export_forbidden') */
    EnableUpdatingDsSettingsByAction = 'EnableUpdatingDsSettingsByAction',
    /** Use GravityUI Charts as the default library for some wizard visualizations(pie, donut, treemap) */
    GravityChartsForPieAndTreemap = 'GravityChartsForPieAndTreemap',
    /** Use GravityUI Charts as the default library for some wizard visualizations(scatter and bar-y) */
    GravityChartsForBarYAndScatter = 'GravityChartsForBarYAndScatter',
    /** Use GravityUI Charts as the default library for some wizard visualizations(line, area and bar-x) */
    GravityChartsForLineAreaAndBarX = 'GravityChartsForLineAreaAndBarX',
    /** Enable shared connections and datasets */
    EnableSharedEntries = 'EnableSharedEntries',

    EnableMobileFixedHeader = 'EnableMobileFixedHeader',
    /** enabled redesign/moving to drawers existing settings */
    EnableCommonChartDashSettings = 'EnableCommonChartDashSettings',
    /** enables new dash & widgets settings */
    EnableNewDashSettings = 'EnableNewDashSettings',
    /** Enable color pickers with customization of values for light & dark themes separately */
    EnableDashColorPickersByTheme = 'EnableDashColorPickersByTheme',
    /** Shows updated settings page */
    EnableNewServiceSettings = 'EnableNewServiceSettings',
    /** Funnel chart visualization */
    FunnelChart = 'FunnelChart',
    /** Replace static master token with dynamic one */
    UsDynamicMasterToken = 'UsDynamicMasterToken',
    /** Enable using dynamic master token in proxy */
    UsDynamicMasterTokenInProxy = 'UsDynamicMasterTokenInProxy',
    /** Сhart settings for displaying trend lines smoothing, etc. */
    ChartModeling = 'ChartModeling',
    /** Route legacy HTTP sources through API Connector */
    UseSourceAlias = 'UseSourceAlias',
    /** Enable early cache invalidation in datasets */
    EnableDatasetEarlyInvalidationCache = 'EnableDatasetEarlyInvalidationCache',
}

export type FeatureConfig = Record<string, boolean>;
