import { BoundingBox } from "@galacean/engine-math";
import { RenderContext } from "../../RenderPipeline/RenderContext";
import { Renderer } from "../../Renderer";
import { SpriteModifyFlags } from "../enums/SpriteModifyFlags";
declare const SpriteMask_base: (abstract new (...args: any[]) => import("./MaskRenderable").IMaskRenderable) & typeof Renderer;
/**
 * A component for masking Sprites.
 */
export declare class SpriteMask extends SpriteMask_base {
    private _automaticWidth;
    private _automaticHeight;
    private _customWidth;
    private _customHeight;
    /**
     * Render width (in world coordinates).
     *
     * @remarks
     * If width is set, return the set value,
     * otherwise return `SpriteMask.sprite.width`.
     */
    get width(): number;
    set width(value: number);
    /**
     * Render height (in world coordinates).
     *
     * @remarks
     * If height is set, return the set value,
     * otherwise return `SpriteMask.sprite.height`.
     */
    get height(): number;
    set height(value: number);
    protected _updateBounds(worldBounds: BoundingBox): void;
    /**
     * @inheritdoc
     */
    protected _render(context: RenderContext): void;
    /**
     * @inheritdoc
     */
    protected _onDestroy(): void;
    _getSpriteWidth(): number;
    _getSpriteHeight(): number;
    _getSpritePivot(): import("@galacean/engine-math").Vector2;
    _onSpriteChangeExtra(type: SpriteModifyFlags): void;
    private _calDefaultSize;
}
export {};
