import type { GlProgramOptions, GlRenderer, ShaderLikeReactiveObject } from '../../../core';
import { GlProgram, Resource } from '../../../core';
export interface MaterialProperties {
    gl?: Partial<GlProgramOptions>;
    uniforms?: Record<string, any>;
}
export declare class Material extends Resource implements ShaderLikeReactiveObject {
    static instance: Material;
    readonly glProgram: GlProgram;
    uniforms: Record<string, any>;
    constructor(properties?: MaterialProperties);
    activate(renderer: GlRenderer, uniforms?: Record<string, any>): void;
}
