import EdgeRecord from '../graph/EdgeRecord.ts';
import VisibleEdgePropertyRecord from '../graph/VisibleEdgePropertyRecord.ts';
import { type LegacyEdgePropertyProjectionTarget } from './LegacyPropertyProjectionTarget.ts';
import WarpState from './state/WarpState.ts';
export type EdgePropertyProjectionEdge = LegacyEdgePropertyProjectionTarget;
/** Projects visible legacy edge properties into compatibility records. */
export default class EdgePropertyProjection {
    /** Returns all visible edge property records in deterministic order. */
    static fromState(state: WarpState): readonly VisibleEdgePropertyRecord[];
    /** Returns visible property records for one edge in deterministic order. */
    static forEdge(state: WarpState, edge: EdgePropertyProjectionEdge): readonly VisibleEdgePropertyRecord[];
    /** Returns visible property records for one runtime-backed edge owner. */
    static forEdgeRecord(state: WarpState, owner: EdgeRecord): readonly VisibleEdgePropertyRecord[];
}
