import { HitSprite } from "./HitSprite";
/**
 * HitTexture class create an hit map from a texture to manage interactions.
 *
 * @class
 * @memberof Scuti
 */
export declare class HitTexture {
    /**
     * The hit sprite of the hit texture.
     *
     * @member {HitSprite}
     * @readonly
     * @private
     */
    private readonly _sprite;
    /**
     * The hit texture base texture.
     *
     * @member {Texture}
     * @private
     */
    private _texture;
    /**
     * The hit map array.
     *
     * @member {Uint32Array}
     * @private
     */
    private _hitMap;
    /**
     * @param {HitSprite} [sprite] - The hit sprite that we want to retrieve the texture.
     */
    constructor(sprite: HitSprite);
    /**
     * Return the cached hit map of the sprite.
     *
     * @return {Uint32Array} - A Uint32Array that is the cached hit map of the sprite.
     * @private
     */
    private _getHitMap;
    /**
     * Generate the hit map from a specified base texture.
     *
     * @param {BaseTexture} baseTexture - The base texture that we want to have the hit map.
     * @return {Uint32Array} - An Uint32Array that is the hit map of the specified baseTexture.
     * @private
     */
    private _generateHitMap;
    /**
     * Generate a sprite texture and not the texture of the entire spritesheet.
     *
     * @return {Texture} - A texture of the sprite (not all the spritesheet).
     * @private
     */
    private _generateTexture;
    /**
     * Will return a boolean that indicate if we hit the sprite.
     *
     * @param {number} x - The x coordinate of the hit point
     * @param {number} y - The y coordinate of the hit point
     * @param {boolean} flip - If the sprite is flipped
     * @return {boolean} - A boolean indicating if we hit the sprite.
     * @public
     */
    hit(x: number, y: number, flip: boolean): boolean;
    /**
     * Will return a HTML Image of the target.
     *
     * @param {DisplayObject|RenderTexture} target - A displayObject or renderTexture
     *  to convert. If left empty will use the main renderer
     * @param {string} [format] - Image format, e.g. "image/jpeg" or "image/webp".
     * @param {number} [quality] - JPEG or Webp compression from 0 to 1. Default is 0.92.
     * @return {HTMLImageElement} HTML Image of the target.
     * @private
     */
    private _image;
    /**
     * Will return a a base64 encoded string of this target. It works by calling
     *  `Extract.getCanvas` and then running toDataURL on that.
     *
     * @param {DisplayObject|RenderTexture} target - A displayObject or renderTexture
     *  to convert. If left empty will use the main renderer
     * @param {string} [format] - Image format, e.g. "image/jpeg" or "image/webp".
     * @param {number} [quality] - JPEG or Webp compression from 0 to 1. Default is 0.92.
     * @return {string} A base64 encoded string of the texture.
     * @private
     */
    private _base64;
    /**
     * Creates a Canvas element, renders this target to it and then returns it.
     *
     * @param {DisplayObject|RenderTexture} target - A displayObject or renderTexture
     *  to convert. If left empty will use the main renderer
     * @return {HTMLCanvasElement} A Canvas element with the texture rendered on.
     * @private
     */
    private _canvas;
}
