export default Vertex;
declare class Vertex {
    /**
     * Compare two edges for sortEdges. Should have executed that first, as it relies on information looked up in that
     * process.
     * @public
     *
     * @param {Edge} halfEdgeA
     * @param {Edge} halfEdgeB
     * @returns {number}
     */
    public static edgeComparison(halfEdgeA: Edge, halfEdgeB: Edge): number;
    static pool: Pool<typeof Vertex>;
    /**
     * @public (kite-internal)
     *
     * NOTE: Use Vertex.pool.create for most usage instead of using the constructor directly.
     *
     * @param {Vector2} point - The point where the vertex should be located.
     */
    constructor(point: Vector2);
    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 {Vector2} point
     * @returns {Vertex} - This reference for chaining
     */
    private initialize;
    point: Vector2 | undefined;
    incidentHalfEdges: any;
    visited: boolean | undefined;
    visitIndex: number | undefined;
    lowIndex: number | undefined;
    data: any;
    internalData: {} | undefined;
    /**
     * 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;
    /**
     * Sorts the edges in increasing angle order.
     * @public
     */
    public sortEdges(): void;
    freeToPool(): void;
}
import Vector2 from '../../../dot/js/Vector2.js';
import Pool from '../../../phet-core/js/Pool.js';
//# sourceMappingURL=Vertex.d.ts.map