useDynLib(InteractionSet, .registration=TRUE, .fixes="cxx_")

# Exporting the InteractionSet class.
exportClasses(
    GInteractions, StrictGInteractions, ReverseStrictGInteractions,
    InteractionSet, 
    ContactMatrix
)

exportMethods(
    GInteractions,
    anchors, anchorIds, regions, reduceRegions, swapAnchors,
    "regions<-", "replaceRegions<-",  "appendRegions<-", "anchorIds<-",
    pairs, 
    findOverlaps, countOverlaps,
    InteractionSet, 
    interactions,
    "interactions<-",
    pairdist, intrachr, linearize, linkOverlaps, boundingBox,
    ContactMatrix, 
    "as.matrix<-",
    inflate, deflate
)

export(
    makeGInteractionsFromGRangesPairs
)

# Requires several imports.
import(GenomicRanges, SummarizedExperiment, methods,
    S4Vectors, IRanges, GenomeInfoDb, BiocGenerics)

importFrom("Matrix", "Matrix", "sparseMatrix")

importFrom("Rcpp", sourceCpp)
