import type Rule from '@roots/bud-build/rule'; import type { Bud } from '@roots/bud-framework'; import * as items from '@roots/bud-build/items'; import * as loaders from '@roots/bud-build/loaders'; import * as rules from '@roots/bud-build/rules'; interface Props { filter: Bud[`hooks`][`filter`]; isProduction: Bud[`isProduction`]; makeItem: Bud[`build`][`makeItem`]; makeLoader: Bud[`build`][`makeLoader`]; makeRule: Bud[`build`][`makeRule`]; path: Bud[`path`]; resolve: Bud[`module`][`resolve`]; } interface Factory { (props: Props): Promise; } /** * Register built-in {@link loaders}, {@link items} and {@link rules} */ declare function register(bud: Bud): Promise; /** * Registry factory curry function */ interface makeRegister { (props: Partial, setRule: F): ([key, factory]: [ K, Factory ]) => void; } /** * Registry factory */ declare const makeRegister: makeRegister; export { items, loaders, makeRegister, register, rules }; export type { Factory, Props };