import type { ShaderModule } from "../shader-module/shader-module.js"; import { ShaderModuleInstance } from "../shader-module/shader-module-instance.js"; /** * Instantiate shader modules and esolve any dependencies */ export declare function resolveModules(modules: (ShaderModule | ShaderModuleInstance)[]): ShaderModuleInstance[]; /** * Takes a list of shader module names and returns a new list of * shader module names that includes all dependencies, sorted so * that modules that are dependencies of other modules come first. * * If the shader glsl code from the returned modules is concatenated * in the reverse order, it is guaranteed that all functions be resolved and * that all function and variable definitions come before use. * * @param modules - Array of modules (inline modules or module names) * @return - Array of modules */ declare function getShaderDependencies(modules: ShaderModuleInstance[]): ShaderModuleInstance[]; /** * Recursively checks module dependencies to calculate dependency level of each module. * * @param options.modules - Array of modules * @param options.level - Current level * @param options.moduleMap - * @param options.moduleDepth - Current level * @return - Map of module name to its level */ export declare function getDependencyGraph(options: { modules: ShaderModuleInstance[]; level: number; moduleMap: Record; moduleDepth: Record; }): void; export declare const TEST_EXPORTS: { getShaderDependencies: typeof getShaderDependencies; getDependencyGraph: typeof getDependencyGraph; }; export {}; //# sourceMappingURL=resolve-modules.d.ts.map