The descriptor captures the extension's method signatures at the type
level so that withExtensions can produce correctly-typed factory
functions. At runtime it holds the (possibly wrapped) configuration object.
Extension descriptors are intentionally opaque — consumers should not
access config directly. Instead, pass descriptors to
withExtensions to obtain augmented builder factories.
Example
// The type is inferred — no need to annotate constmyExt: ExtensionDescriptor<{ string: { slug: ... } }> = defineExtension({ ... });
A branded descriptor returned by defineExtension.
The descriptor captures the extension's method signatures at the type level so that withExtensions can produce correctly-typed factory functions. At runtime it holds the (possibly wrapped) configuration object.
Extension descriptors are intentionally opaque — consumers should not access
configdirectly. Instead, pass descriptors to withExtensions to obtain augmented builder factories.Example
See