import { NodeMaterial, type NodeMaterialParameters, type Texture } from 'three/webgpu';
import type { TAttributeNodeInstancePosition, TAttributeNodeQuadSize, TAttributeNodeRotation, TAttributeNodeTexCoords } from './TexturedSprite.js';
export interface TexturedSpritesMaterialParameters extends NodeMaterialParameters {
    name?: string;
    colorMap?: Texture;
    renderAsBillboards?: boolean;
}
export declare class TexturedSpritesMaterial extends NodeMaterial {
    #private;
    static readonly PositionAttributeName = "position";
    static readonly InstancePositionAttributeName = "instancePosition";
    static readonly RotationAttributeName = "rotation";
    static readonly QuadSizeAttributeName = "quadSize";
    get colorMap(): Texture | undefined;
    set colorMap(value: Texture | undefined);
    get vertexPositionNode(): TAttributeNodeInstancePosition;
    set vertexPositionNode(node: TAttributeNodeInstancePosition);
    get texCoordsNode(): TAttributeNodeTexCoords | undefined;
    set texCoordsNode(node: TAttributeNodeTexCoords | undefined);
    get rotationNode(): TAttributeNodeRotation;
    set rotationNode(node: TAttributeNodeRotation);
    get instancePositionNode(): TAttributeNodeInstancePosition;
    set instancePositionNode(node: TAttributeNodeInstancePosition);
    get quadSizeNode(): TAttributeNodeQuadSize;
    set quadSizeNode(node: TAttributeNodeQuadSize);
    get renderAsBillboards(): boolean;
    set renderAsBillboards(value: boolean);
    constructor(options?: TexturedSpritesMaterialParameters);
    dispose(): void;
}
//# sourceMappingURL=TexturedSpritesMaterial.d.ts.map