import { BrsValue, ValueKind, BrsInvalid, BrsBoolean } from "../BrsType";
import { BrsComponent } from "./BrsComponent";
import { BrsType } from "..";
import { BrsCanvas, BrsCanvasContext2D, BrsDraw2D } from "../interfaces/IfDraw2D";
export declare class RoBitmap extends BrsComponent implements BrsValue, BrsDraw2D {
    readonly kind = ValueKind.Object;
    readonly x: number;
    readonly y: number;
    readonly width: number;
    readonly height: number;
    readonly ninePatch: boolean;
    private readonly canvas;
    private readonly context;
    private readonly name;
    private readonly valid;
    private readonly patchSizes?;
    private alphaEnable;
    private rgbaCanvas?;
    private rgbaLast;
    rgbaRedraw: boolean;
    scaleMode: number;
    constructor(param: BrsType | ArrayBuffer | Buffer, name?: string);
    clearCanvas(rgba: number): BrsInvalid;
    drawImage(object: BrsComponent, x: number, y: number, scaleX?: number, scaleY?: number, rgba?: number): boolean;
    drawImageToContext(image: BrsCanvas, x: number, y: number): boolean;
    getImageName(): string;
    getCanvas(): BrsCanvas;
    getContext(): BrsCanvasContext2D;
    getRgbaCanvas(rgba: number): BrsCanvas;
    setCanvasAlpha(enable: boolean): void;
    getCanvasAlpha(): boolean;
    makeDirty(): void;
    finishDraw(): void;
    toString(parent?: BrsType): string;
    equalTo(other: BrsType): BrsBoolean;
    isValid(): boolean;
    dispose(): void;
    getPatchSizes(): {
        horizontal: number;
        vertical: number;
    };
    /** Return the image name (file name or custom) of the bitmap (this method is not on RBI). */
    private readonly getName;
}
export declare function createBitmap(param: BrsType): BrsInvalid | RoBitmap;
