import '../../../assert/js/assert.js';
import '../../../globals.js';
/**
 * Represents a path that controls what regions things are drawn in.
 *
 * @author Jonathan Olson <jonathan.olson@colorado.edu>
 */
import { FillRule } from '../imports.js';
import Vector2 from '../../../dot/js/Vector2.js';
import Matrix3 from '../../../dot/js/Matrix3.js';
import Bounds2 from '../../../dot/js/Bounds2.js';
export default class RenderPath {
    readonly fillRule: FillRule;
    readonly subpaths: Vector2[][];
    readonly id: number;
    constructor(fillRule: FillRule, subpaths: Vector2[][]);
    transformed(transform: Matrix3): RenderPath;
    getBounds(): Bounds2;
    /**
     * Without scanning the entire path, returns whether we can guarantee that this path is empty and has zero area.
     */
    isTriviallyEmpty(): boolean;
    serialize(): SerializedRenderPath;
    static deserialize(obj: SerializedRenderPath): RenderPath;
    static fromBounds(bounds: Bounds2): RenderPath;
}
export type SerializedRenderPath = {
    fillRule: FillRule;
    subpaths: {
        x: number;
        y: number;
    }[][];
};
//# sourceMappingURL=RenderPath.d.ts.map