import '../../../assert/js/assert.js';
import '../../../globals.js';
import Vector2 from '../../../dot/js/Vector2.js';
/**
 * Mitchell-Netravali filter (B=1/3, C=1/3 ) contribution given a polygon
 *
 * @author Jonathan Olson <jonathan.olson@colorado.edu>
 */
import { LinearEdge } from '../imports.js';
export default class PolygonMitchellNetravali {
    static full00: number;
    static full10: number;
    static full11: number;
    static evaluateFull(pointX: number, pointY: number, minX: number, minY: number): number;
    /**
     * Evaluates the contribution of the (clipped) polygon to the filter at the given point. minX/minY note the lower
     * coordinates of the clipped polygon unit pixel.
     */
    static evaluateLinearEdges(edges: LinearEdge[], pointX: number, pointY: number, minX: number, minY: number): number;
    /**
     * Evaluates the contribution of the (clipped) polygon to the filter at the given point. minX/minY note the lower
     * coordinates of the clipped polygon unit pixel.
     */
    static evaluatePolygons(polygons: Vector2[][], pointX: number, pointY: number, minX: number, minY: number): number;
    /**
     * Evaluates the 1-dimensional Mitchell-Netravali filter at the given point. Outside -2<=t<=2, the filter will be
     * zero.
     *
     * NOTE: It is a separable filter, so if you need the 2D equivalent, just do
     * evaluateFilter( x ) * evaluateFilter( y )
     */
    static evaluateFilter(t: number): number;
    static evaluate(polygon: Vector2[], point: Vector2): number;
    private static evaluateWith;
    static evaluateCase00(p0x: number, p0y: number, p1x: number, p1y: number): number;
    static evaluateCase10(p0x: number, p0y: number, p1x: number, p1y: number): number;
    static evaluateCase11(p0x: number, p0y: number, p1x: number, p1y: number): number;
}
//# sourceMappingURL=PolygonMitchellNetravali.d.ts.map