/** @packageDocumentation
 * @module WebGL
 */
import { VariableType } from "./ShaderBuilder";
import { TechniqueId } from "./TechniqueId";
/**
 * Describes the details of an attribute associated with an attribute name.
 * @internal
 */
export interface AttributeDetails {
    /** Index used by GPU for binding attribute location for the associated attribute name. */
    location: number;
    /** What type of variable used for binding the attribute location. */
    type: VariableType;
}
/**
 * A class with static methods which provide access to a global mapping between techniques and attribute details (location and variable type).
 * These details are used when constructing shaders and when setting up buffers through implementations of the BuffersContainer abstract class.
 * @internal
 */
export declare class AttributeMap {
    private readonly _attrMaps;
    constructor();
    static findAttributeMap(techniqueId: TechniqueId | undefined, instanced: boolean): Map<string, AttributeDetails>;
    static findAttribute(attributeName: string, techniqueId: TechniqueId | undefined, instanced: boolean): AttributeDetails | undefined;
}
//# sourceMappingURL=AttributeMap.d.ts.map