export type {
	ModalComponentProps,
	ModalComponentProps as ModalFormComponentProps,
	ModalOptions,
} from '../plugins/modalTypes'

import type { IconType, MaterialIcons } from '../components/Icon/types'

export type { IconType, MaterialIcons }

export * from './BagelForm'
export * from './BtnOptions'
export type { StorageFile } from './file'

export type { NavLink } from './NavLink'
export type { Tables, TableToTypeMapping } from '@bagelink/sdk'

export type Tab = {
	label: string
	id: string
	icon?: IconType
} | string

export type ThemeType = |
	'light'
	| 'white'
	| 'red'
	| 'gray'
	| 'gray-light'
	| 'black'
	| 'green'
	| 'yellow'
	| 'primary'
	| 'blue' // ! blue does nothing

export type Option =
	| string
	| number
	| boolean
	| { [key: string]: any }
	| { label: string, value: string | number }

export type IfAny<T, Y, N> = 0 extends (1 & T) ? Y : N
