import type { Manifest } from '../core/domain'; import { DynamicImportIconLoader, type IconModuleEntry } from '../core/loader/DynamicImportIconLoader'; /** The result shape of a Vite `import.meta.glob(...)` call. */ export type IconGlobModules = Record Promise<{ default: IconModuleEntry; }>>; export interface IconSource { manifest: Manifest; loader: DynamicImportIconLoader; } /** * Turns an already-called `import.meta.glob` result into a * {@link Manifest} plus a ready {@link DynamicImportIconLoader}, see * ADR-0014. Never calls `import.meta.glob` itself, that call must be * written literally in the consumer's own source for Vite to analyze * it, this function only transforms its result. * * @throws if two glob entries resolve to the same {@link IconId}. The * error names both paths involved. */ export declare function createIconSource(glob: IconGlobModules): IconSource;