export default RendererSummary;
declare class RendererSummary {
    /**
     * Determines which of the summary bits can be set for a specific Node (ignoring children/ancestors).
     * For instance, for bitmaskSingleSVG, we only don't include the flag if THIS node prevents its usage
     * (even though child nodes may prevent it in the renderer summary itself).
     * @public
     *
     * @param {Node} node
     */
    public static summaryBitmaskForNodeSelf(node: Node): number;
    /**
     * For debugging purposes
     * @public
     *
     * @param {number} bit
     * @returns {string}
     */
    public static bitToString(bit: number): string;
    /**
     * For debugging purposes
     * @public
     *
     * @param {number} bitmask
     * @returns {string}
     */
    public static bitmaskToString(bitmask: number): string;
    /**
     * @param {Node} node
     */
    constructor(node: Node);
    node: Node;
    _counts: Int16Array;
    bitmask: number;
    selfBitmask: number;
    /**
     * Use a bitmask of all 1s to represent 'does not exist' since we count zeros
     * @public
     *
     * @param {number} oldBitmask
     * @param {number} newBitmask
     */
    public summaryChange(oldBitmask: number, newBitmask: number): void;
    /**
     * @public
     */
    public selfChange(): void;
    /**
     * @private
     *
     * @returns {number}
     */
    private computeBitmask;
    /**
     * @public
     * Is the renderer compatible with every single painted node under this subtree?
     * (Can this entire sub-tree be rendered with just this renderer)
     *
     * @param {number} renderer - Single bit preferred. If multiple bits set, requires ALL painted nodes are compatible
     *                            with ALL of the bits.
     */
    public isSubtreeFullyCompatible(renderer: number): boolean;
    /**
     * @public
     * Is the renderer compatible with at least one painted node under this subtree?
     *
     * @param {number} renderer - Single bit preferred. If multiple bits set, will return if a single painted node is
     *                            compatible with at least one of the bits.
     */
    public isSubtreeContainingCompatible(renderer: number): boolean;
    /**
     * @public
     *
     * @returns {boolean}
     */
    public isSingleCanvasSupported(): boolean;
    /**
     * @public
     *
     * @returns {boolean}
     */
    public isSingleSVGSupported(): boolean;
    /**
     * @public
     *
     * @returns {boolean}
     */
    public isNotPainted(): boolean;
    /**
     * @public
     *
     * @returns {boolean}
     */
    public hasNoPDOM(): boolean;
    /**
     * @public
     *
     * @returns {boolean}
     */
    public areBoundsValid(): boolean;
    /**
     * Given a bitmask representing a list of ordered preferred renderers, we check to see if all of our nodes can be
     * displayed in a single SVG block, AND that given the preferred renderers, that it will actually happen in our
     * rendering process.
     * @public
     *
     * @param {number} preferredRenderers
     * @returns {boolean}
     */
    public isSubtreeRenderedExclusivelySVG(preferredRenderers: number): boolean;
    /**
     * Given a bitmask representing a list of ordered preferred renderers, we check to see if all of our nodes can be
     * displayed in a single Canvas block, AND that given the preferred renderers, that it will actually happen in our
     * rendering process.
     * @public
     *
     * @param {number} preferredRenderers
     * @returns {boolean}
     */
    public isSubtreeRenderedExclusivelyCanvas(preferredRenderers: number): boolean;
    /**
     * For debugging purposes
     * @public
     */
    public audit(): void;
    /**
     * Returns a string form of this object
     * @public
     *
     * @returns {string}
     */
    public toString(): string;
}
declare namespace RendererSummary {
    export { bitmaskAll };
}
import { Node } from '../imports.js';
declare let bitmaskAll: number;
//# sourceMappingURL=RendererSummary.d.ts.map