/** @packageDocumentation
 * @module WebGL
 */
import { VertexTable } from "../../../common/internal/render/VertexTable";
import { ColorInfo } from "./ColorInfo";
import { WebGLDisposable } from "./Disposable";
import { TextureHandle } from "./Texture";
import { AuxChannel, AuxChannelTable, AuxDisplacementChannel, AuxParamChannel } from "../../../common/internal/render/AuxChannelTable";
/** @internal */
export declare class AuxChannelLUT implements WebGLDisposable {
    readonly texture: TextureHandle;
    readonly numVertices: number;
    readonly numBytesPerVertex: number;
    displacements?: Map<string, AuxDisplacementChannel>;
    normals?: Map<string, AuxChannel>;
    params?: Map<string, AuxParamChannel>;
    private constructor();
    private initChannels;
    get bytesUsed(): number;
    get hasScalarAnimation(): boolean;
    get isDisposed(): boolean;
    [Symbol.dispose](): void;
    static create(table: AuxChannelTable): AuxChannelLUT | undefined;
}
/** Represents the finished lookup table ready for submission to GPU.
 * @internal
 */
export declare class VertexLUT implements WebGLDisposable {
    readonly texture: TextureHandle;
    readonly numVertices: number;
    readonly numRgbaPerVertex: number;
    readonly colorInfo: ColorInfo;
    readonly usesQuantizedPositions: boolean;
    readonly qOrigin: Float32Array;
    readonly qScale: Float32Array;
    readonly uvQParams?: Float32Array;
    readonly auxChannels?: AuxChannelLUT;
    get hasAnimation(): boolean;
    get hasScalarAnimation(): boolean;
    get bytesUsed(): number;
    static createFromVertexTable(vt: VertexTable, aux?: AuxChannelTable): VertexLUT | undefined;
    private constructor();
    get isDisposed(): boolean;
    [Symbol.dispose](): void;
}
//# sourceMappingURL=VertexLUT.d.ts.map