useDynLib(flowClust)

import(methods)

importMethodsFrom(BiocGenerics,
           density)

importFrom(stats4, plot, summary)

importFrom(graphics,
           hist)

importFrom("flowCore", "summarizeFilter")

importClassesFrom(Biobase,
                  AssayData)

importClassesFrom(flowCore,
                  flowFrame,
                  filterSet,
                  filter,
                  concreteFilter,
                  parameters,
                  parameterFilter,
                  rectangleGate,
                  polygonGate,
                  polytopeGate,
                  ellipsoidGate,
                  sampleFilter,
                  filterResult,
                  randomFilterResult,
                  logicalFilterResult,
                  multipleFilterResult,
                  manyFilterResult,
                  setOperationFilter,
                  subsetFilter,
                  intersectFilter,
                  complementFilter,
                  unionFilter,
                  norm2Filter,
                  kmeansFilter,
                  expressionFilter)

importMethodsFrom(flowCore,
                  "%in%",
                  "%subset%",
                  "%on%",
                  "exprs",
                  "filter",
                  "Subset")

## export anything w/out a dot in front. 
exportPattern("^[^\\.]")

exportClasses(flowClust,
              flowClustList,
              tmixFilter,
              tmixFilterResult,
              tmixFilterResultList)

exportMethods(filter,
              "%in%",
              "[",
              "[[",
              length,
              coerce,
              "coerce<-",
              Subset,
              split,
              ruleOutliers,
              "ruleOutliers<-",
              Map,
              criterion,
              "criterion<-")

exportMethods(show,
              summary,
              plot,
              density,
              hist)
