import { Material } from "./Material";
import { MaterialInstance } from "./MaterialInstance";
import { type RenderShaderProgram, type UniformValue } from "./RenderDevice";
export interface MaterialBindingResult {
    readonly shader: RenderShaderProgram;
    readonly uniforms: ReadonlyMap<string, UniformValue>;
    readonly diagnostics: readonly string[];
    readonly warnings: readonly string[];
}
export declare class MaterialBinding {
    bind(materialLike: Material | MaterialInstance, shader: RenderShaderProgram): MaterialBindingResult;
}
export declare class MaterialBindingError extends Error {
    readonly diagnostics: readonly string[];
    constructor(message: string, diagnostics: readonly string[]);
}
//# sourceMappingURL=MaterialBinding.d.ts.map