import { A as AppliedShaderProviderTransform } from './shader-transform-D160zMyt.js'; import 'vite'; interface ShaderBundlerTransformOptions { /** Defaults to the Three.js package resolved from `root`. */ readonly threeVersion?: string; /** Defaults true only while THREE_BLOCKS_SHADER_TOOL=1. */ readonly capture?: boolean; /** Module-resolution root. Defaults to process.cwd(). */ readonly root?: string; } declare const THREE_BLOCKS_WEBPACK_LOADER = "@three-blocks/devtools/webpack-loader"; /** * Add the provider loader to a plain webpack configuration. * * The loader reads `THREE_BLOCKS_SHADER_TOOL=1` itself, so the same configuration * hydrates in normal builds and records capture data only in tool-owned builds. */ declare function withThreeBlocksWebpack(configuration: T): T; /** * Compose the provider loader with a Next.js configuration without replacing an * adopter's existing `webpack` callback. */ declare function withThreeBlocksNext(configuration: T): T; /** Resolve the exact target-project Three.js version without importing Three itself. */ declare function resolveShaderAdapterThreeVersion(root?: string): string; /** Shared implementation used by every non-Vite adapter. */ declare function transformThreeWebGPUModule(source: string, id: string, options?: ShaderBundlerTransformOptions): AppliedShaderProviderTransform | null; interface EsbuildShaderPlugin { readonly name: string; setup(build: { onResolve?(options: { readonly filter: RegExp; }, callback: (args: { readonly path: string; }) => { readonly path: string; } | undefined): void; onLoad(options: { readonly filter: RegExp; }, callback: (args: { readonly path: string; }) => Promise<{ readonly contents: string; readonly loader: 'js'; } | undefined>): void; }): void; } /** esbuild adapter for the canonical `three/build/three.webgpu.js` module. */ declare function createEsbuildShaderPlugin(options?: ShaderBundlerTransformOptions): EsbuildShaderPlugin; interface RollupShaderPlugin { readonly name: string; readonly enforce: 'pre'; transform(source: string, id: string): { readonly code: string; readonly map: null; } | null; } /** Rollup-compatible adapter; also works in compatible plugin hosts. */ declare function createRollupShaderPlugin(options?: ShaderBundlerTransformOptions): RollupShaderPlugin; export { type EsbuildShaderPlugin, type RollupShaderPlugin, type ShaderBundlerTransformOptions, THREE_BLOCKS_WEBPACK_LOADER, createEsbuildShaderPlugin, createRollupShaderPlugin, resolveShaderAdapterThreeVersion, transformThreeWebGPUModule, withThreeBlocksNext, withThreeBlocksWebpack };