import { Renderer, Texture, Resource } from "@pixi/core";
import { IDestroyOptions } from "@pixi/display";
import { BLEND_MODES } from "@pixi/constants";
import { ObservablePoint } from "@pixi/math";
import { Camera } from "../camera/camera";
import { SpriteBillboardType } from "./sprite-billboard-type";
import { Container3D } from "../container";
/**
 * Represents a sprite in 3D space.
 */
export declare class Sprite3D extends Container3D {
    private _sprite;
    private _modelView;
    private _cameraTransformId?;
    private _billboardType?;
    private _parentID?;
    /**
     * The camera used when rendering the sprite. Uses main camera by default.
     */
    camera?: Camera;
    /**
     * Creates a new sprite using the specified texture.
     * @param texture The texture to use.
     */
    constructor(texture?: Texture<Resource>);
    /**
     * The billboard type to use when rendering the sprite. Used for making the
     * sprite always face the viewer.
     */
    get billboardType(): SpriteBillboardType | undefined;
    set billboardType(value: SpriteBillboardType | undefined);
    /** Defines the size of the sprite relative to a unit in world space. */
    get pixelsPerUnit(): number;
    set pixelsPerUnit(value: number);
    /** Used for sorting the sprite before render. */
    get renderSortOrder(): number;
    set renderSortOrder(value: number);
    /**
     * The tint applied to the sprite. This is a hex value. A value of 0xFFFFFF
     * will remove any tint effect.
     */
    get tint(): number;
    set tint(value: number);
    /**
     * Destroys this sprite and optionally its texture and children.
     */
    destroy(options?: boolean | IDestroyOptions): void;
    /**
     * Renders the sprite.
     * @param renderer The renderer to use.
     */
    _render(renderer: Renderer): void;
    /**
     * The anchor sets the origin point of the sprite.
     */
    get anchor(): ObservablePoint;
    set anchor(value: ObservablePoint);
    /** The texture used when rendering the sprite. */
    get texture(): Texture<Resource>;
    set texture(value: Texture<Resource>);
    /** The blend used when rendering the sprite. */
    get blendMode(): BLEND_MODES;
    set blendMode(value: BLEND_MODES);
}
