useDynLib(GenomicRanges)

import(methods)
import(IRanges)

exportClasses(
    GRanges, GRangesList,
    GappedAlignments
)

export(
    seqnames, "seqnames<-", seqlengths, "seqlengths<-",
    strand, "strand<-",
    GRanges, GRangesList,
    validCigar, cigarOpTable,
    cigarToQWidth, cigarToWidth, cigarQNarrow, cigarNarrow,
    cigarToIRanges, cigarToIRangesListByAlignment, cigarToIRangesListByRName,
    queryLoc2refLoc, queryLocs2refLocs,
    splitCigar, cigarToRleList, cigarToCigarTable, summarizeCigarTable,
    rname, "rname<-", cigar, qwidth, grglist, grg, rglist, qnarrow,
    readGappedAlignments, GappedAlignments
)

exportMethods(
    length,
    names, "names<-",
    coerce, as.data.frame, unlist,
    seqnames, ranges, strand, seqlengths, elementMetadata,
    "seqnames<-", "ranges<-", "strand<-", "seqlengths<-", "elementMetadata<-",
    start, end, width, "start<-", "end<-", "width<-",
    "[", "[<-", c, rev, seqselect, "seqselect<-",
    split, window,
    flank, resize, shift,
    disjoin, gaps, range, reduce,
    coverage,
    union, intersect, setdiff,
    punion, pintersect, psetdiff,
    findOverlaps, countOverlaps, match, "%in%",
    show,
    rname, "rname<-", cigar, qwidth, grglist, grg, rglist, qnarrow
)

