Repository: discordjs/discord.js
File: packages/builders/src/components/Components.ts (TypeScript)

Code before:
	/**
	 * The separator component type is associated with a {@link SeparatorBuilder}.
	 */
	[ComponentType.Separator]: SeparatorBuilder;
	/**
	 * The text display component type is associated with a {@link TextDisplayBuilder}.
	 */
	[ComponentType.TextDisplay]: TextDisplayBuilder;
	/**
	 * The media gallery component type is associated with a {@link MediaGalleryBuilder}.
	 */
	[ComponentType.MediaGallery]: MediaGalleryBuilder;
	/**
	 * The section component type is associated with a {@link SectionBuilder}.
	 */
	[ComponentType.Section]: SectionBuilder;
	/**
	 * The container component type is associated with a {@link ContainerBuilder}.
	 */
	[ComponentType.Container]: ContainerBuilder;
	/**
	 * The label component type is associated with a {@link LabelBuilder}.
	 */
	[ComponentType.Label]: LabelBuilder;
	/**
	 * The label component type is associated with a {@link FileUploadBuilder}.
	 */
	[ComponentType.FileUpload]: FileUploadBuilder;
}

/**
 * Factory for creating components from API data.
 *
 * @typeParam ComponentType - The type of component to use
 * @param data - The API data to transform to a component class
 */
export function createComponentBuilder<ComponentType extends keyof MappedComponentTypes>(
	// eslint-disable-next-line @typescript-eslint/sort-type-constituents
	data: (APIModalComponent | APIMessageComponent) & { type: ComponentType },
): MappedComponentTypes[ComponentType];

/**
 * Factory for creating components from API data.
 *
 * @typeParam ComponentBuilder - The type of component to use
 * @param data - The API data to transform to a component class
 */
export function createComponentBuilder<ComponentBuilder extends MessageComponentBuilder | ModalComponentBuilder>(
	data: ComponentBuilder,
): ComponentBuilder;


Review comment (suggestion):
```suggestion
	 * The file upload component type is associated with a {@link FileUploadBuilder}.
```

Code after:
	/**
	 * The separator component type is associated with a {@link SeparatorBuilder}.
	 */
	[ComponentType.Separator]: SeparatorBuilder;
	/**
	 * The text display component type is associated with a {@link TextDisplayBuilder}.
	 */
	[ComponentType.TextDisplay]: TextDisplayBuilder;
	/**
	 * The media gallery component type is associated with a {@link MediaGalleryBuilder}.
	 */
	[ComponentType.MediaGallery]: MediaGalleryBuilder;
	/**
	 * The section component type is associated with a {@link SectionBuilder}.
	 */
	[ComponentType.Section]: SectionBuilder;
	/**
	 * The container component type is associated with a {@link ContainerBuilder}.
	 */
	[ComponentType.Container]: ContainerBuilder;
	/**
	 * The label component type is associated with a {@link LabelBuilder}.
	 */
	[ComponentType.Label]: LabelBuilder;
	/**
	 * The file upload component type is associated with a {@link FileUploadBuilder}.
	 */
	[ComponentType.FileUpload]: FileUploadBuilder;
}

/**
 * Factory for creating components from API data.
 *
 * @typeParam ComponentType - The type of component to use
 * @param data - The API data to transform to a component class
 */
export function createComponentBuilder<ComponentType extends keyof MappedComponentTypes>(
	// eslint-disable-next-line @typescript-eslint/sort-type-constituents
	data: (APIModalComponent | APIMessageComponent) & { type: ComponentType },
): MappedComponentTypes[ComponentType];

/**
 * Factory for creating components from API data.
 *
 * @typeParam ComponentBuilder - The type of component to use
 * @param data - The API data to transform to a component class
 */
export function createComponentBuilder<ComponentBuilder extends MessageComponentBuilder | ModalComponentBuilder>(
	data: ComponentBuilder,
): ComponentBuilder;