export default Edge;
declare class Edge {
    static pool: Pool<typeof Edge>;
    /**
     * @public (kite-internal)
     *
     * NOTE: Use Edge.pool.create for most usage instead of using the constructor directly.
     *
     * @param {Segment} segment
     * @param {Vertex} startVertex
     * @param {Vertex} endVertex
     */
    constructor(segment: Segment, startVertex: Vertex, endVertex: Vertex);
    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 {Segment} segment
     * @param {Vertex} startVertex
     * @param {Vertex} endVertex
     * @returns {Edge} - This reference for chaining
     */
    private initialize;
    segment: Segment | null | undefined;
    startVertex: Vertex | null | undefined;
    endVertex: Vertex | null | undefined;
    signedAreaFragment: number | undefined;
    forwardHalf: HalfEdge | null | undefined;
    reversedHalf: HalfEdge | null | undefined;
    visited: boolean | 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;
    /**
     * Returns the other vertex associated with an edge.
     * @public
     *
     * @param {Vertex} vertex
     * @returns {Vertex}
     */
    public getOtherVertex(vertex: Vertex): Vertex;
    /**
     * Update possibly reversed vertex references (since they may be updated)
     * @public
     */
    public updateReferences(): void;
    freeToPool(): void;
}
import { Segment } from '../imports.js';
import { Vertex } from '../imports.js';
import { HalfEdge } from '../imports.js';
import Pool from '../../../phet-core/js/Pool.js';
//# sourceMappingURL=Edge.d.ts.map