import { Plugin } from 'vite'; declare const SHADER_CAPTURE_CLIENT_ID: "virtual:three-blocks-shader-capture-client"; interface ShaderProviderTransformStatus { seen: boolean; applied: boolean; alreadyPresent: boolean; id?: string; error?: string; captureApplied?: boolean; } interface ShaderProviderTransform { readonly plugin: Plugin; readonly status: ShaderProviderTransformStatus; } interface AppliedShaderProviderTransform { readonly code: string; readonly alreadyPresent: boolean; readonly captureApplied: boolean; } interface ApplyShaderProviderTransformOptions { readonly instrumentCapture?: boolean; readonly forceWebGL?: boolean; /** Exact Three.js runtime revision for unreleased compatibility fixtures. */ readonly threeRevision?: string; /** * Optional side-effect import that installs the browser capture runtime. * Vite uses its virtual module; static builds leave this unset and let the * static capture driver inject the published browser entry. */ readonly captureRuntimeImport?: string; } /** Pure form of the provider transform, exposed for compatibility tests and Vite adapters. */ declare function applyShaderProviderTransform(source: string, threeVersion: string, options?: ApplyShaderProviderTransformOptions): AppliedShaderProviderTransform; interface ShaderCaptureTransformOptions { readonly capture: boolean; readonly forceLive: boolean; readonly driven?: boolean; readonly forceWebGL?: boolean; readonly settleFrames: number; readonly settleTimeoutMs?: number; readonly visibilityGuard?: boolean; readonly captureId?: string; readonly sessionKey?: string; readonly token?: string; readonly readiness?: { readonly selector?: string; readonly global?: string; }; } interface ShaderProviderTransformOptions { readonly capture?: ShaderCaptureTransformOptions; /** Software Vulkan drivers can expose timestamps that crash Chromium's GPU process. */ readonly disableTimestampQueries?: boolean; } /** Version-gated, in-memory Three.js provider hook. It never writes node_modules. */ declare function createShaderProviderTransform(threeVersion: string, options?: ShaderProviderTransformOptions): ShaderProviderTransform; declare function assertShaderProviderTransform(status: Readonly): void; export { type AppliedShaderProviderTransform as A, SHADER_CAPTURE_CLIENT_ID as S, type ApplyShaderProviderTransformOptions as a, type ShaderCaptureTransformOptions as b, type ShaderProviderTransform as c, type ShaderProviderTransformOptions as d, type ShaderProviderTransformStatus as e, applyShaderProviderTransform as f, assertShaderProviderTransform as g, createShaderProviderTransform as h };