import EdgeId from './EdgeId.ts';
import EdgeTypeId from './EdgeTypeId.ts';
import NodeId from './NodeId.ts';
export type LegacyEdgeFields = {
    readonly from: string;
    readonly to: string;
    readonly label: string;
};
export type EdgeRecordFields = {
    readonly id: EdgeId;
    readonly from: NodeId;
    readonly to: NodeId;
    readonly typeId: EdgeTypeId;
};
/** Runtime-backed graph substrate edge record. */
export default class EdgeRecord {
    readonly id: EdgeId;
    readonly from: NodeId;
    readonly to: NodeId;
    readonly typeId: EdgeTypeId;
    constructor(fields: EdgeRecordFields);
    /** Builds a transitional edge record from legacy edge key fields. */
    static fromLegacyEdge(fields: LegacyEdgeFields): EdgeRecord;
    /** Compares edge records by graph identity, endpoints, and type. */
    equals(other: EdgeRecord): boolean;
}
