export default SVGBlock;
declare class SVGBlock extends FittedBlock {
    /**
     * @mixes Poolable
     *
     * @param {Display} display - the scenery Display this SVGBlock will appear in
     * @param {number} renderer - the bitmask for the renderer, see Renderer.js
     * @param {Instance} transformRootInstance - All transforms of this instance and its ancestors will already have been
     *                                           applied. This block will only be responsible for applying transforms of
     *                                           this instance's descendants.
     * @param {Instance} filterRootInstance - All filters (visibility/opacity/filters) of this instance and its ancestors
     *                                        will already have been applied. This block will only be responsible for
     *                                        applying filters of this instance's descendants.
     */
    constructor(display: Display, renderer: number, transformRootInstance: Instance, filterRootInstance: Instance);
    filterRootInstance: any;
    dirtyGradients: any;
    dirtyGroups: any;
    dirtyDrawables: any;
    paintCountMap: any;
    areReferencesReduced: boolean | undefined;
    svg: SVGSVGElement | undefined;
    defs: SVGDefsElement | undefined;
    baseTransformGroup: SVGGElement | undefined;
    domElement: SVGSVGElement | undefined;
    forceRefreshListener: (() => void) | undefined;
    workaroundRect: SVGRectElement | undefined;
    rootGroup: any;
    /**
     * Callback for paintCountMap's create
     * @private
     *
     * @param {Paint} paint
     * @returns {SVGGradient|SVGPattern}
     */
    private onAddPaint;
    /**
     * Callback for paintCountMap's destroy
     * @private
     *
     * @param {Paint} paint
     * @param {SVGGradient|SVGPattern} svgPaint
     */
    private onRemovePaint;
    incrementPaint(paint: any): void;
    decrementPaint(paint: any): void;
    /**
     * @public
     *
     * @param {SVGGradient} gradient
     */
    public markDirtyGradient(gradient: SVGGradient): void;
    /**
     * @public
     *
     * @param {Block} block
     */
    public markDirtyGroup(block: Block): void;
    /**
     * @public
     *
     * @param {Drawable} drawable
     */
    public markDirtyDrawable(drawable: Drawable): void;
    /**
     * Looks to remove dirty objects that may have been disposed.
     * See https://github.com/phetsims/energy-forms-and-changes/issues/356
     * @public
     *
     * @public
     */
    public reduceReferences(): void;
}
import { FittedBlock } from '../imports.js';
//# sourceMappingURL=SVGBlock.d.ts.map