import '../../../assert/js/assert.js';
import '../../../globals.js';
/**
 * RenderPathBoolean will display one RenderProgram "inside" the path, and another RenderProgram "outside" the path.
 *
 * @author Jonathan Olson <jonathan.olson@colorado.edu>
 */
import Matrix3 from '../../../dot/js/Matrix3.js';
import Vector4 from '../../../dot/js/Vector4.js';
import { RenderEvaluationContext, RenderPath, RenderProgram, SerializedRenderPath, SerializedRenderProgram } from '../imports.js';
export default class RenderPathBoolean extends RenderProgram {
    readonly path: RenderPath;
    readonly inside: RenderProgram;
    readonly outside: RenderProgram;
    constructor(path: RenderPath, inside: RenderProgram, outside: RenderProgram);
    getName(): string;
    withChildren(children: RenderProgram[]): RenderPathBoolean;
    transformed(transform: Matrix3): RenderProgram;
    protected equalsTyped(other: this): boolean;
    isOneSided(): boolean;
    getOneSide(): RenderProgram;
    withOneSide(program: RenderProgram): RenderProgram;
    protected getSimplified(children: RenderProgram[]): RenderProgram | null;
    evaluate(context: RenderEvaluationContext): Vector4;
    protected getExtraDebugString(): string;
    serialize(): SerializedRenderPathBoolean;
    static deserialize(obj: SerializedRenderPathBoolean): RenderPathBoolean;
    static fromInside(path: RenderPath, inside: RenderProgram): RenderPathBoolean;
}
export type SerializedRenderPathBoolean = {
    type: 'RenderPathBoolean';
    path: SerializedRenderPath;
    inside: SerializedRenderProgram;
    outside: SerializedRenderProgram;
};
//# sourceMappingURL=RenderPathBoolean.d.ts.map