import { type RenderDevice, type RenderShaderProgram } from "./RenderDevice";
import { type CompiledShaderSource, type ShaderLibrary } from "./ShaderLibrary";
import { type ShaderReflection } from "./ShaderReflection";
export declare class ShaderModule {
    readonly source: CompiledShaderSource;
    private program;
    readonly reflection: ShaderReflection;
    constructor(source: CompiledShaderSource);
    static fromLibrary(library: ShaderLibrary, name: string): ShaderModule;
    static fromLibraryVariant(library: ShaderLibrary, name: string, variantName: string): ShaderModule;
    compile(device: RenderDevice): RenderShaderProgram;
    dispose(): void;
}
//# sourceMappingURL=ShaderModule.d.ts.map