/** * Dynamic component discovery for the preprocessor and babel plugins. * * Instead of importing a static manifest from components/, this module * builds component lists lazily from the actual component exports. * src/index.ts registers a thunk that provides the exports; the lists * are computed on first access (at runtime, when all modules are loaded). */ type ExportMap = Record; type ExportThunk = () => ExportMap; /** * Register a thunk that returns the component exports. * Called by src/index.ts during module initialization. * The thunk is evaluated lazily to avoid circular dependency issues. */ export declare function setComponentExportsThunk(thunk: ExportThunk): void; /** * All built-in non-Ask component names, derived from actual exports. * Includes 'Component' (the base class). */ export declare function getBuiltinComponents(): readonly string[]; /** * All Ask component names (Ask namespace + individual AskX exports). */ export declare function getAskComponents(): readonly string[]; /** * Shorthand aliases: short name → AskX full name. * e.g., { Text: 'AskText', Number: 'AskNumber', ... } * * Skips shorthands that would conflict with builtin component names. */ export declare function getAskShorthand(): Record; /** * Structural component names whose `name` prop is for identification, * not variable creation. The name-hoisting Babel plugin skips these. * * Computed as: all builtins minus Component (base class), minus components * with `static hoistName = true`, plus Fragment. */ export declare function getStructuralComponents(): readonly string[]; export {}; //# sourceMappingURL=component-discovery.d.ts.map