export default HalfEdge;
declare class HalfEdge {
    static pool: Pool<typeof HalfEdge>;
    /**
     * @public (kite-internal)
     *
     * NOTE: Use HalfEdge.pool.create for most usage instead of using the constructor directly.
     *
     * @param {Edge} edge
     * @param {boolean} isReversed
     */
    constructor(edge: Edge, isReversed: boolean);
    id: number;
    /**
     * Similar to a usual constructor, but is set up so it can be called multiple times (with dispose() in-between) to
     * support pooling.
     * @private
     *
     * @param {Edge} edge
     * @param {boolean} isReversed
     * @returns {HalfEdge} - This reference for chaining
     */
    private initialize;
    edge: any;
    face: any;
    isReversed: boolean | undefined;
    signedAreaFragment: number | undefined;
    startVertex: any;
    endVertex: any;
    sortVector: any;
    data: any;
    /**
     * Returns an object form that can be turned back into a segment with the corresponding deserialize method.
     * @public
     *
     * @returns {Object}
     */
    public serialize(): Object;
    /**
     * Removes references (so it can allow other objects to be GC'ed or pooled), and frees itself to the pool so it
     * can be reused.
     * @public
     */
    public dispose(): void;
    /**
     * Returns the next half-edge, walking around counter-clockwise as possible. Assumes edges have been sorted.
     * @public
     *
     * @param {function} [filter] - function( {Edge} ) => {boolean}. If it returns false, the edge will be skipped, and
     *                              not returned by getNext
     */
    public getNext(filter?: Function | undefined): any;
    /**
     * Update possibly reversed vertex references.
     * @private
     */
    private updateReferences;
    /**
     * Returns the tangent of the edge at the end vertex (in the direction away from the vertex).
     * @public
     *
     * @returns {Vector2}
     */
    public getEndTangent(): Vector2;
    /**
     * Returns the curvature of the edge at the end vertex.
     * @public
     *
     * @returns {number}
     */
    public getEndCurvature(): number;
    /**
     * Returns the opposite half-edge for the same edge.
     * @public
     *
     * @returns {HalfEdge}
     */
    public getReversed(): HalfEdge;
    /**
     * Returns a segment that starts at our startVertex and ends at our endVertex (may be reversed to accomplish that).
     * @public
     *
     * @returns {Segment}
     */
    public getDirectionalSegment(): Segment;
    freeToPool(): void;
}
import Vector2 from '../../../dot/js/Vector2.js';
import Pool from '../../../phet-core/js/Pool.js';
//# sourceMappingURL=HalfEdge.d.ts.map