import(methods)
import(graphics)
import(stats)
import(parallel)

exportClasses(
    ## from R/S3-classes-as-S4-classes.R:
    connection,
    file, url, gzfile, bzfile, unz, pipe,
    fifo, sockconn, terminal, textConnection,
    gzcon,
    characterORconnection,
    AsIs
    #table, xtabs
)


### ==========================================================================
### Functions defined in base R and explicitly promoted to generics in the
### BiocGenerics package
### --------------------------------------------------------------------------

### Generics for functions defined in package base:
export(
    ## from R/append.R:
    append,

    ## from R/as.data.frame.R:
    as.data.frame,

    ## from R/as.vector.R:
    as.vector,

    ## from R/cbind.R:
    cbind, rbind,

    ## from R/duplicated.R:
    duplicated, anyDuplicated,

    ## from R/eval.R:
    eval, evalq,

    ## from R/Extremes.R:
    pmax, pmin, pmax.int, pmin.int,

    ## from R/funprog.R:
    Reduce, Filter, Find, Map, Position,

    ## from R/get.R:
    get, mget,

    ## from R/is.unsorted.R:
    is.unsorted,
    
    ## from R/lapply.R:
    lapply, sapply,

    ## from R/mapply.R:
    mapply,

    ## from R/match.R:
    match,

    ## from R/nrow.R:
    nrow, ncol, NROW, NCOL,

    ## from R/order.R:
    order,

    ## from R/paste.R:
    paste,

    ## from R/rank.R:
    rank,

    ## from R/rep.R:
    rep.int,

    ## from R/row_colnames.R:
    rownames, colnames,

    ## from R/sets.R:
    union, intersect, setdiff,

    ## from R/sort.R:
    sort,

    ## from R/table.R:
    table,

    ## from R/tapply.R:
    tapply,

    ## from R/unique.R:
    unique,

    ## from R/unlist.R:
    unlist
)

### Generics for functions defined in package graphics:
export(
    ## from R/boxplot.R:
    boxplot,

    ## from R/image.R:
    image
)

### Generics for functions defined in package stats:
export(
    ## from R/density.R:
    density,

    ## from R/residuals.R:
    residuals,

    ## from R/weights.R:
    weights,

    ## from R/xtabs.R:
    xtabs
)

### Generics for functions defined in package parallel:
export(
    ## from R/clusterApply.R:
    clusterCall, clusterApply, clusterApplyLB,
    clusterEvalQ, clusterExport,
    clusterMap, clusterSplit,
    parLapply, parSapply, parApply, parRapply, parCapply,
    parLapplyLB, parSapplyLB
)


### ==========================================================================
### Bioconductor specific generics and their methods
### --------------------------------------------------------------------------

export(
    ## from R/annotation.R:
    annotation, "annotation<-",

    ## from R/combine.R:
    combine,

    ## from R/normalize.R:
    normalize,

    ## from R/strand.R:
    strand, "strand<-",

    ## from R/updateObject.R:
    updateObject,
    updateObjectFromSlots,
    getObjectSlots
)

exportMethods(
    ## from R/combine.R:
    combine,

    ## from R/updateObject.R:
    updateObject,

    ## from R/dge.R:
    counts, "counts<-",
    design, "design<-",
    dispTable, "dispTable<-",
    sizeFactors, "sizeFactors<-",
    conditions, "conditions<-",
    estimateSizeFactors, 
    estimateDispersions,
    plotDispEsts, 
    plotMA
)

