export {
    getNCoreUIKitVersion,
    setupNCoreUIKit
} from "./core";

export {
    NCoreUIKitEmbeddedMenu,
    NCoreUIKitBottomSheet,
    NCoreUIKitLocalize,
    NCoreUIKitSnackBar,
    NCoreUIKitDialog,
    NCoreUIKitModal,
    NCoreUIKitTheme,
    NCoreUIKitToast,
    NCoreUIKitMenu
} from "./core/hooks";

export {
    default as NCoreUIKitCoreComplexProvider,
    useContext as NCoreUIKitCoreComplex
} from "./core/contexts/coreComplex";

export {
    NotificationIndicator,
    HighlightButton,
    PaletteSwitcher,
    DateTimePicker,
    LocaleSwitcher,
    MarkdownEditor,
    MarkdownViewer,
    DateTimeSheet,
    MonthSelector,
    PageContainer,
    TextAreaInput,
    ThemeSwitcher,
    SystemToolbar,
    UserShortcut,
    WebScrollbar,
    DateSelector,
    EmbeddedMenu,
    NumericInput,
    TimeSelector,
    YearSelector,
    AvatarGroup,
    BottomSheet,
    RadioButton,
    SelectSheet,
    CodeEditor,
    CodeViewer,
    MainHeader,
    MenuButton,
    SelectBox,
    Seperator,
    StateCard,
    TextInput,
    CheckBox,
    SiteLogo,
    SnackBar,
    Loading,
    RowCard,
    Sticker,
    Tooltip,
    Button,
    Avatar,
    Dialog,
    Header,
    Switch,
    Modal,
    Toast,
    Chip,
    Menu,
    Text
} from "./components";

export type {
    CheckBoxDisplayBehaviourWhileLoading,
    AvatarGroupTitleAbbreviationTypes,
    ChipDisplayBehaviourWhileLoading,
    DateTimePickerDateRangeResponse,
    DateTimePickerDynamicStyleType,
    DateTimePickerSpreadBehaviour,
    AvatarTitleAbbreviationTypes,
    INotificationIndicatorProps,
    AvatarGroupDynamicStyleType,
    AvatarGroupSizeConstantType,
    CheckBoxDynamicStyleType,
    CheckBoxTypeConstantType,
    DateTimePickerPickerType,
    AvatarGroupMeasuresKeys,
    CheckBoxSpreadBehaviour,
    DateTimePickerDateRange,
    AvatarDynamicStyleType,
    AvatarGroupAvatarsType,
    AvatarSizeConstantType,
    DialogDynamicStyleType,
    DateTimePickerVariant,
    IHighlightButtonProps,
    IPaletteSwitcherProps,
    ChipDynamicStyleType,
    ChipTypeConstantType,
    DateTokenCombination,
    DialogContentJustify,
    IDateTimePickerProps,
    ILocaleSwitcherProps,
    IMarkdownViewerProps,
    IMarkdownEditorProps,
    AvatarGroupSizeType,
    ChipSpreadBehaviour,
    DateTimePickerTypes,
    IDateTimeSheetProps,
    IMonthSelectorProps,
    IPageContainerProps,
    ITextAreaInputProps,
    IThemeSwitcherProps,
    ISystemToolbarProps,
    IUserShortcutProps,
    AvatarMeasuresKeys,
    DateTimePickerType,
    EnterMarkdownTypes,
    IDateSelectorProps,
    IDateTimePickerRef,
    IEmbeddedMenuProps,
    INumericInputProps,
    ITimeSelectorProps,
    IYearSelectorProps,
    CodeMarkdownTypes,
    IAvatarGroupProps,
    IBottomSheetProps,
    IRadioButtonProps,
    ISelectSheetProps,
    ITextAreaInputRef,
    TextMarkdownTypes,
    ICodeEditorProps,
    IEmbeddedMenuRef,
    DateCalendarType,
    IDateSelectorRef,
    IYearSelectorRef,
    IMainHeaderProps,
    IMenuButtonProps,
    ValidTitleFormat,
    TooltipLocation,
    BlockquoteTypes,
    IBottomSheetRef,
    ISelectBoxProps,
    ISeperatorProps,
    IStateCardProps,
    ITextInputProps,
    AvatarMeasures,
    AvatarSizeType,
    ICheckBoxProps,
    ISiteLogoProps,
    ISnackBarProps,
    MarkdownObject,
    ITooltipProps,
    CheckBoxTypes,
    DialogVariant,
    ILoadingProps,
    IRowCardProps,
    IStickerProps,
    ITextInputRef,
    CheckBoxType,
    ChipSizeType,
    IAvatarProps,
    IButtonProps,
    IDialogProps,
    IHeaderProps,
    ISwitchProps,
    MarkdownKeys,
    IModalProps,
    IToastProps,
    IChipProps,
    IDialogRef,
    IMenuProps,
    ITextProps,
    MonthToken,
    ChipTypes,
    IModalRef,
    ListTypes,
    Separator,
    TimeToken,
    YearToken,
    ChipType,
    DayToken,
    IMenuRef
} from "./components";

export {
    blockquoteMarkdown,
    centerMarkdown,
    enterMarkdown,
    imageMarkdown,
    parseMarkdown,
    rightMarkdown,
    codeMarkdown,
    leftMarkdown,
    linkMarkdown,
    listMarkdown,
    textMarkdown
} from "./components/markdownViewer/util";

export {
    mergeTypographyTokens,
    parseRRuleConfig,
    mergeTypography,
    mergePalettes,
    mergeRadiuses,
    mergeBorders,
    mergeShapes,
    mergeSpaces,
    mergeTheme
} from "./helpers";

export {
    NIBGATCommunityIcon,
    CayCoreIcon,
    LoadingIcon,
    NIBGATIcon,
    EnUsIcon,
    TRTRIcon
} from "./assets/svg";

export type {
    PortalizedComponentProps,
    INCoreUIKitIconProps,
    GapPropagationType,
    ActivityStatusType,
    NCoreUIKitConfig,
    RecursiveRecord,
    NCoreUIKitIcon,
    ModalDataType,
    PureWebStyles,
    SharpnessType,
    LocalizeType,
    PureRNStyles,
    PaletteType,
    LocaleType,
    ThemesType,
    AllStyles,
    ModalType,
    ThemeType,
    Mutable
} from "./types";

export {
    Portal,
    Host
} from "./helpers/portalize";

export {
    androidTypographyFixer,
    STATUS_CHEAT_SHEET,
    windowHeight,
    windowWidth,
    webStyle,
    uuid
} from "./utils";
