import {setConfig, getConfig, merge} from './configStore' import type {ConfigType, CustomTypes} from './types' import * as F from './fields' import * as FS from './fieldsets' import * as P from './preview' import * as V from './validation' import * as G from './groups' const schemaBuilder = {F, FS, G, P, V} export function withConfig( config: ConfigType = {}, customTypes: T = {} as T, ) { setConfig(config) return merge(customTypes, schemaBuilder) as typeof schemaBuilder & T } export {F, FS, G, P, V, setConfig, getConfig, merge} export default schemaBuilder export * from './types'