import { ShaderMaterial, WebGLRenderer, type ShaderMaterialParameters, type WebGLProgramParametersWithUniforms } from 'three';
export type CustomChunksShaderMaterialParameters = ShaderMaterialParameters;
export interface CustomShaderChunks {
    [chunkName: string]: string;
}
export declare class CustomChunksShaderMaterial extends ShaderMaterial {
    #private;
    customProgramCacheKey(): string;
    replaceVertexShaderChunks: string[];
    replaceFragmentShaderChunks: string[];
    readonly staticChunks: Record<string, string>[];
    addStaticChunks(chunks: Record<string, string>): () => void;
    removeStaticChunks(chunks: Record<string, string>): void;
    readonly chunks: CustomShaderChunks;
    logShadersToConsole: boolean;
    onBeforeCompile(shader: WebGLProgramParametersWithUniforms, _renderer: WebGLRenderer): void;
    protected updateBoolDefine(name: string, value: boolean): void;
}
//# sourceMappingURL=CustomChunksShaderMaterial.d.ts.map