import '../../../assert/js/assert.js';
import '../../../globals.js';
/**
 * Represents an image with a specific center "offset". Considered immutable (with an immutable image, the Canvas if
 * provided should not change).
 *
 * @author Jonathan Olson <jonathan.olson@colorado.edu>
 */
import TReadOnlyProperty from '../../../axon/js/TReadOnlyProperty.js';
import Vector2 from '../../../dot/js/Vector2.js';
import { Shape } from '../../../kite/js/imports.js';
import { ImageableImage, ImageableOptions } from '../imports.js';
type SelfOptions = {
    hitTestPixels?: boolean;
    pickable?: boolean;
};
export type SpriteImageOptions = SelfOptions & ImageableOptions;
declare const SpriteImage_base: ObjectConstructor & import("../../../phet-core/js/types/Constructor.js").default<import("../imports.js").TImageable>;
export default class SpriteImage extends SpriteImage_base {
    readonly id: number;
    readonly offset: Vector2;
    readonly pickable: boolean;
    private shape;
    private imageData;
    /**
     * @param image
     * @param offset - A 2d offset from the upper-left of the image which is considered the "center".
     * @param [providedOptions]
     */
    constructor(image: ImageableImage | TReadOnlyProperty<ImageableImage>, offset: Vector2, providedOptions?: SpriteImageOptions);
    get width(): number;
    get height(): number;
    /**
     * Returns a Shape that represents the hit-testable area of this SpriteImage.
     */
    getShape(): Shape;
    /**
     * Ensures we have a computed imageData (computes it lazily if necessary).
     */
    private ensureImageData;
    /**
     * Returns whether a given point is considered "inside" the SpriteImage.
     */
    containsPoint(point: Vector2): boolean;
}
export {};
//# sourceMappingURL=SpriteImage.d.ts.map