/**
 * Definition of the feature flag including description and created timestamp
 *
 * @property {string} description - A description of the feature flag.
 * @property {number} createdAt - The timestamp the feature flag was created in **milliseconds**.
 * @property {string} enabledByDefaultInVersion - The `disabledByDefault` of feature flag must be true after '2.32.0',
 *    if you want enable it, you can set enabledByDefaultInVersion with a major version.
 *    Note: the value of this property must be a major version.
 */
export type FeatureFlagDefinition = {
	description: string;
	createdAtVersion: string;
	createdTimestamp: number;
	disabledByDefault?: boolean;
	removedAfterVersion?: string;
	enabledByDefaultInVersion?: string;
};

/**
 * This is the id of the feature flag.
 * Please follow the naming schema below for your feature flag key:
 * '<RELATED_COMPONENTS>.<FEATURE_NAME>'
 * Example: 'VEGA_DATE_PICKER.COMPONENT_LOAD_REQUIRED_DECORATOR'
 */
export type FeatureFlagKey =
	| 'VEGA_DATE_PICKER.COMPONENT_LOAD_REQUIRED_DECORATOR'
	| 'VEGA_COMPONENT.SANITIZE_VEGA_COMPONENT'
	| 'VEGA_FLEX.ENABLE_DIRECTION_ONLY'
	| 'VEGA_TEXT.LABEL_OR_CONTENT_NESTED_VEGA_TEXT_COMPONENT'
	| 'VEGA_FIELD_LABEL.SHOW_LABEL'
	| 'VEGA_FLEX.USE_NATIVE_FLEX_BEHAVIOR'
	| 'VEGA_TABLE.DEPRECATED_ROW_SELECTION_CHANGE_PROP'
	| 'VEGA_ICON.USE_SIZE_PROP_FOR_THIRD_PARTY_ICONS'
	| 'VEGA_INJECT_FORM_FIELD_CONTROLLER.ADD_DATA_VEGA_FORM_FILTER'
	| 'VEGA_FORM_FIELD.CHANGE_BLOCK_TO_INLINE_BLOCK'
	| 'VEGA_CHECKBOX_RADIO_GROUP.FLEX_DIRECTION_COL_DEFAULT'
	| 'VEGA_REACT.PREVENT_SSR'
	| 'VEGA_STEPPER.INPUT_DISABLED'
	| 'VEGA_FLEX.ALIGNITEM_JUSTIFYCONTENT_USE_PREFIX_V_INSTEAD_OF_VEGA'
	| 'VEGA_ANGULAR.USE_JUGGLE_RESIZE_OBSERVER'
	| 'VEGA_INPUT.FOCUS_ON_INPUT_BY_CLICK_CLEAR_BUTTON'
	| 'VEGA_VUE.EMIT_CAMEL_CASE_EVENT_NAME'
	| 'VEGA_ITEM_TOGGLE_ISERROR_DEPRECATED'
	| 'VEGA_BUTTON_LINK.DEPRECATED_EVENTFUL'
	| 'VEGA_DROPDOWN.RENAME_PREFIX_TO_PREFIX_ICON'
	| 'VEGA_REACT.PREVENT_CALL_WATCH_METHOD_BEFORE_COMPONENT_LOAD'
	| 'VEGA_FRAMEWORK.PREVENT_CALL_WATCH_METHOD_BEFORE_COMPONENT_LOAD'
	| 'VEGA_REACT.ENABLE_ON_CHANGE_HANDLE_UNDER_LOW_VERSION'
	| 'VEGA_INPUT_CREDIT_CARD.ENABLE_HIDE_NUMBER_MASK_ON_FIRST_LOAD'
	| 'VEGA_TABLE.ENABLE_NEW_CELL_BREAK_WORDS_STYLE'
	| 'VEGA_TELEMETRY.ENABLE_COLLECT_COMPONENTS_USAGE'
	| 'VEGA_TELEMETRY.ENABLE_COLLECT_FEATURE_FLAG_OVERRIDDEN'
	| 'VEGA_REACT.ENABLE_ON_CLOSE_HANDLE_UNDER_LOW_VERSION'
	| 'VEGA_BANNER_DEPRECATED_ACTION_BUTTON_PROP_VEGA_CLICK'
	| 'VEGA_REACT.SKIP_NATIVE_EVENT_PREVENT_BY_DEFAULT'
	| 'VEGA_TELEMETRY.ENABLE_COLLECT_PUBLIC_API'
	| 'VEGA_LEFT_NAV.DISABLE_ANIMATION_ON_LOAD'
	| 'VEGA_DATE_PICKER.ENABLE_CALCULATION_POSITION_BY_SCREEN'
	| 'VEGA_TABLE.REVERSE_SORT_ORDER'
	| 'VEGA_PAGINATION.ENABLE_EXTENSIONS_RESPONSIVE_DEFAULT_VALUE'
	| 'VEGA_COMPONENT.CORNERS_USE_OLD_BEHAVIOR'
	| 'VEGA_INPUT_PHONE_NUMBER.ENABLE_CALCULATION_POSITION_BY_SCREEN'
	| 'VEGA_ELEMENT_APPENDER.AUTO_PLACEMENT';
