/// <reference types="gl-matrix/index.js" />
export class Decal extends AbstractLight {
    /**
     * Transform matrix, initial volume is a unit cube
     * @type {number[]|Float32Array|mat4[]}
     */
    transform: number[] | Float32Array | mat4[];
    transform_inverse: Float32Array;
    uv: Float32Array;
    color: Float32Array;
    /**
     *
     * @type {Sampler2D}
     */
    texture_diffuse: Sampler2D;
    /**
     * Order in which decal should be applied, higher priority decals will be drawn first
     * NOTE: not implemented yet
     * @type {number}
     */
    draw_priority: number;
    __signal_transfom_changed: Signal<any, any, any, any, any, any, any, any>;
    /**
     *
     * @param {number[]|Float32Array|ArrayLike<number>} m
     */
    setTransform(m: number[] | Float32Array | ArrayLike<number>): void;
    handleUvPositionChange(x: any, y: any): void;
    handleUvSizeChange(x: any, y: any): void;
    compare(other: any): number;
    onDimensionChanged(f: any, thisArg: any): void;
    offDimensionChanged(f: any, thisArg: any): void;
    getCenter(result: any): void;
    getAABB(result: any): void;
    toArray(destination: any, address: any): number;
    /**
     * @readonly
     * @type {boolean}
     */
    readonly isDecal: boolean;
    ENCODED_SLOT_COUNT: number;
}
import { AbstractLight } from "./AbstractLight.js";
import { mat4 } from "gl-matrix";
import Signal from "../../../../../core/events/signal/Signal.js";
//# sourceMappingURL=Decal.d.ts.map