import {
	type FormControlDescriptionCommonProps as ColorChannelFieldDescriptionCommonProps,
	type FormControlDescriptionOptions as ColorChannelFieldDescriptionOptions,
	type FormControlDescriptionProps as ColorChannelFieldDescriptionProps,
	type FormControlDescriptionRenderProps as ColorChannelFieldDescriptionRenderProps,
	type FormControlErrorMessageCommonProps as ColorChannelFieldErrorMessageCommonProps,
	type FormControlErrorMessageOptions as ColorChannelFieldErrorMessageOptions,
	type FormControlErrorMessageProps as ColorChannelFieldErrorMessageProps,
	type FormControlErrorMessageRenderProps as ColorChannelFieldErrorMessageRenderProps,
	type FormControlLabelCommonProps as ColorChannelFieldLabelCommonProps,
	type FormControlLabelOptions as ColorChannelFieldLabelOptions,
	type FormControlLabelProps as ColorChannelFieldLabelProps,
	type FormControlLabelRenderProps as ColorChannelFieldLabelRenderProps,
	FormControlDescription as Description,
	FormControlErrorMessage as ErrorMessage,
	FormControlLabel as Label,
} from "../form-control";

import {
	type NumberFieldDecrementTriggerCommonProps as ColorChannelFieldDecrementTriggerCommonProps,
	type NumberFieldDecrementTriggerOptions as ColorChannelFieldDecrementTriggerOptions,
	type NumberFieldDecrementTriggerProps as ColorChannelFieldDecrementTriggerProps,
	type NumberFieldDecrementTriggerRenderProps as ColorChannelFieldDecrementTriggerRenderProps,
	type NumberFieldHiddenInputProps as ColorChannelFieldHiddenInputProps,
	type NumberFieldIncrementTriggerCommonProps as ColorChannelFieldIncrementTriggerCommonProps,
	type NumberFieldIncrementTriggerOptions as ColorChannelFieldIncrementTriggerOptions,
	type NumberFieldIncrementTriggerProps as ColorChannelFieldIncrementTriggerProps,
	type NumberFieldIncrementTriggerRenderProps as ColorChannelFieldIncrementTriggerRenderProps,
	type NumberFieldInputCommonProps as ColorChannelFieldInputCommonProps,
	type NumberFieldInputOptions as ColorChannelFieldInputOptions,
	type NumberFieldInputProps as ColorChannelFieldInputProps,
	type NumberFieldInputRenderProps as ColorChannelFieldInputRenderProps,
	DecrementTrigger,
	HiddenInput,
	IncrementTrigger,
	Input,
} from "../number-field";
import {
	type ColorChannelFieldRootCommonProps,
	type ColorChannelFieldRootOptions,
	type ColorChannelFieldRootProps,
	type ColorChannelFieldRootRenderProps,
	ColorChannelFieldRoot as Root,
} from "./color-channel-field-root";

export type {
	ColorChannelFieldDescriptionOptions,
	ColorChannelFieldDescriptionCommonProps,
	ColorChannelFieldDescriptionRenderProps,
	ColorChannelFieldDescriptionProps,
	ColorChannelFieldErrorMessageOptions,
	ColorChannelFieldErrorMessageCommonProps,
	ColorChannelFieldErrorMessageRenderProps,
	ColorChannelFieldErrorMessageProps,
	ColorChannelFieldInputOptions,
	ColorChannelFieldInputCommonProps,
	ColorChannelFieldInputRenderProps,
	ColorChannelFieldInputProps,
	ColorChannelFieldLabelOptions,
	ColorChannelFieldLabelCommonProps,
	ColorChannelFieldLabelRenderProps,
	ColorChannelFieldLabelProps,
	ColorChannelFieldRootOptions,
	ColorChannelFieldRootCommonProps,
	ColorChannelFieldRootRenderProps,
	ColorChannelFieldRootProps,
	ColorChannelFieldHiddenInputProps,
	ColorChannelFieldIncrementTriggerOptions,
	ColorChannelFieldIncrementTriggerCommonProps,
	ColorChannelFieldIncrementTriggerRenderProps,
	ColorChannelFieldIncrementTriggerProps,
	ColorChannelFieldDecrementTriggerOptions,
	ColorChannelFieldDecrementTriggerCommonProps,
	ColorChannelFieldDecrementTriggerRenderProps,
	ColorChannelFieldDecrementTriggerProps,
};
export {
	Description,
	ErrorMessage,
	HiddenInput,
	Input,
	IncrementTrigger,
	DecrementTrigger,
	Label,
	Root,
};

export const ColorChannelField = Object.assign(Root, {
	Description,
	ErrorMessage,
	HiddenInput,
	Input,
	IncrementTrigger,
	DecrementTrigger,
	Label,
});
