import { type ShaderCode } from "./shaderCode.types.js"; import { ConnectionPointType } from "../../connection/connectionPointType.js"; import { BlockDisableStrategy } from "../../blockFoundation/blockDisableStrategy.js"; import { type ConstPropertyMetadata } from "../../serialization/v1/shaderBlockSerialization.types.js"; /** * Describes the supported metadata annotation for a uniform */ type UniformMetadataAnnotation = { /** * If supplied, the default value to use for the corresponding input connection point */ default?: any; /** * If supplied, the input will be automatically bound to this value, instead of creating an input connection point * @see InputAutoBindV1 for possible values. */ autoBind?: string; }; /** * Describes a uniform in a shader */ type UniformMetadata = { /** * The original name of the uniform (not renamed) */ name: string; /** * The type string of the uniform */ type: ConnectionPointType; /** * Optional properties of the uniform */ properties?: UniformMetadataAnnotation; }; /** * Information about a fragment shader */ export type FragmentShaderInfo = { /** * If supplied, the blockType to use for the block */ blockType?: string; /** * If supplied, the namespace of the block */ namespace: string | null; /** * If true, optimization should be disabled for this shader */ disableOptimization?: boolean; /** * If supplied, the strategy to use for making this block disableable */ blockDisableStrategy?: BlockDisableStrategy; /** * The shader code */ shaderCode: ShaderCode; /** * The set of uniforms */ uniforms: UniformMetadata[]; /** * The set of fragment const values to be exposed as properties */ fragmentConstProperties: ConstPropertyMetadata[]; }; /** * Parses a fragment shader * @param fragmentShader - The fragment shader to process * @returns The processed fragment shader */ export declare function ParseFragmentShader(fragmentShader: string): FragmentShaderInfo; /** * Determines if a fragment shader has the GLSL header required for parsing * @param fragmentShader - The fragment shader to check * @returns True if the fragment shader has the GLSL header */ export declare function HasGlslHeader(fragmentShader: string): boolean; export {}; //# sourceMappingURL=shaderConverter.d.ts.map