import { type ShaderSources } from "./RenderDevice";
export interface ShaderAttributeReflection {
    readonly name: string;
    readonly type: string;
    readonly location: number;
    readonly source: "vertex";
    readonly line: number;
}
export interface ShaderUniformReflection {
    readonly name: string;
    readonly type: string;
    readonly arraySize: number | null;
    readonly source: "vertex" | "fragment";
    readonly line: number;
}
export interface ShaderReflection {
    readonly attributes: ReadonlyMap<string, number>;
    readonly uniforms: ReadonlySet<string>;
    readonly attributeDetails: ReadonlyMap<string, ShaderAttributeReflection>;
    readonly uniformDetails: ReadonlyMap<string, ShaderUniformReflection>;
}
export declare function reflectShaderSources(sources: ShaderSources): ShaderReflection;
//# sourceMappingURL=ShaderReflection.d.ts.map