/** @packageDocumentation
 * @module WebGL
 */
import { Matrix3, Matrix4 } from "./Matrix";
import { ShaderProgram } from "./ShaderProgram";
import { SyncToken } from "./Sync";
/** A handle to the location of a uniform within a shader program
 * @internal
 */
export declare class UniformHandle {
    private readonly _location;
    private _type;
    private readonly _data;
    syncToken?: SyncToken;
    private constructor();
    static create(program: ShaderProgram, name: string): UniformHandle;
    private updateData;
    private updateDatum;
    setMatrix3(mat: Matrix3): void;
    setMatrix4(mat: Matrix4): void;
    setUniform1iv(data: Int32Array | number[]): void;
    setUniform1fv(data: Float32Array | number[]): void;
    setUniform2fv(data: Float32Array | number[]): void;
    setUniform3fv(data: Float32Array | number[]): void;
    setUniform4fv(data: Float32Array | number[]): void;
    setUniform1i(data: number): void;
    setUniform1f(data: number): void;
    setUniform1ui(data: number): void;
    setUniformBitflags(data: number): void;
}
//# sourceMappingURL=UniformHandle.d.ts.map