import { BrsValue, ValueKind, BrsBoolean } from "../BrsType";
import { BrsComponent } from "./BrsComponent";
import { BrsType } from "..";
import { Int32 } from "../Int32";
import { RoRegion } from "./RoRegion";
import { RoCompositor } from "./RoCompositor";
import { RoArray } from "./RoArray";
import { BrsImageData, Circle, Rect } from "../interfaces/IfDraw2D";
export declare class RoSprite extends BrsComponent implements BrsValue {
    readonly kind = ValueKind.Object;
    private readonly id;
    private readonly regions?;
    private region;
    private x;
    private y;
    private z;
    private frame;
    private drawable;
    private memberFlags;
    private collidableFlags;
    private data;
    private compositor?;
    private tickSum;
    constructor(x: Int32, y: Int32, region: RoRegion | RoArray, z: Int32, id: number, compositor: RoCompositor);
    getImageData(): BrsImageData;
    getRegionObject(): RoRegion;
    getId(): number;
    getPosX(): number;
    getPosY(): number;
    getCircle(): Circle;
    getRect(): Rect;
    getFlags(): {
        collidableFlags: number;
        memberFlags: number;
    };
    getType(): number;
    visible(): boolean;
    nextFrame(tick: number): void;
    toString(parent?: BrsType): string;
    equalTo(other: BrsType): BrsBoolean;
    dispose(): void;
    /** Returns an roRegion object that specifies the region of a bitmap that is the sprite's display graphic */
    private readonly getRegion;
    /** Returns the first roSprite that this sprite collides with. */
    private readonly checkCollision;
    /** Returns an array of all colliding sprites. If there are no collisions return invalid. */
    private readonly checkMultipleCollisions;
    /** Returns the value of collidable flags variable. */
    private readonly getCollidableFlags;
    /** Returns the value of the Drawable Flag. */
    private readonly getDrawableFlag;
    /** Returns the value of member flags variable. */
    private readonly getMemberFlags;
    /** Returns any user data associated with the sprite previously set via SetData(). */
    private readonly getData;
    /** Returns the x coordinate of the sprite. */
    private readonly getX;
    /** Returns the y coordinate of the sprite */
    private readonly getY;
    /** Returns the z (layer) of the sprite */
    private readonly getZ;
    /** Move the sprite to coordinate x,y. */
    private readonly moveTo;
    /** Move the sprite to coordinate x,y. */
    private readonly moveOffset;
    /** Adjusts the part of an roRegion's bitmap that is being displayed as the sprite. */
    private readonly offsetRegion;
    /** Sets bits to determine what sprites will be checked for collisions. */
    private readonly setCollidableFlags;
    /** Associate user defined data with the sprite. The data can be any type including intrinsic types or objects. */
    private readonly setData;
    /** Sets whether this sprite is drawable or just used for collision tests. */
    private readonly setDrawableFlag;
    /** Sets flags to define the sprite membership. These flags are used with CollidableFlags to define what sprites are allowed to collide. */
    private readonly setMemberFlags;
    /** Set the region of the sprite to the passed roRegion object. */
    private readonly setRegion;
    /** Sets the z value of the sprite. The z value defines the order in which sprites are drawn. */
    private readonly setZ;
    /** Removes the sprite from the managing roComposite object and deletes the sprite. */
    private readonly remove;
}
