useDynLib(memisc)
import(stats,grid,lattice,methods,MASS)
importFrom(utils,toLatex,head,tail,capture.output,getFromNamespace)
export(
      contr,
      contr.treatment,
      contr.sum,
      cases,
      colrename,
      dimrename,
      mtable,
      write.mtable,
      getSummary,
      getSummary.glm,
      getSummary.lm,
      getSummary.polr,
      getSummary.clm,
      getSummary.simex,
      #getSummary.lmer,
      getSummary.coxph,
      getSummary.survreg,
      getSummary.aftreg,
      getSummary.phreg,
      getSummary.weibreg,
      getSummary.mer,
      getSummary.merMod,
      getSummary_expcoef,
      getSummary_expcoef.glm,
      getSummary.ivreg,
      getSummary.tobit,
      getSummary.hurdle,
      getSummary.betareg,
      getSummary.multinom,
      applyTemplate,
      #get.substr,
      getSummaryTemplate,
      setSummaryTemplate,
      getCoefTemplate,
      setCoefTemplate,
      recode,
      relabel,
      relabel4,
      rename,
      rowrename,
      Simulate,
      default_bucket,
      textfile_bucket,
      put_into,
      pour_out,
      interrupt,
      trimws,
      genTable,
      Aggregate,
      #wtable,
      Table,
      Descriptives,
      percent,
      percent.default,
      percent.logical,
      By,
      Sapply,
      Lapply,
      sort.data.frame,
      sort.data.set,
      to.data.frame,
      as.array,
      prediction.frame,
      Termplot,
      panel.errbars,
      as.item,
      labels,
      "labels<-",
      value.filter,
      valid.values,
      missing.values,
      valid.range,
      "valid.values<-",
      "valid.range<-",
      "missing.values<-",
      measurement,
      "measurement<-",
      include.missings,
      annotation,
      "annotation<-",
      description,
      "description<-",
      wording,
      "wording<-",
      is.missing,
      is.valid,
      nvalid,
      is.nominal,
      is.ordinal,
      is.interval,
      is.ratio,
      contrasts,
      "contrasts<-",
      data.set,
      as.data.set,
      is.data.set,
      retain,
      foreach,
      syms,
      as.symbols,
      Substitute,
      collect,
      fapply,
      UnZip,
      "%nin%",
      codebook,
      spss.fixed.file,
      spss.portable.file,
      spss.system.file,
      Stata.file,
      query,
      relabel4,
      Iconv,
      Write
      )
S3method(getSummary,aftreg)
S3method(getSummary,betareg)
S3method(getSummary,clm)
S3method(getSummary,coxph)
S3method(getSummary,glm)
S3method(getSummary,hurdle)
S3method(getSummary,ivreg)
S3method(getSummary,lm)
S3method(getSummary,mer)
S3method(getSummary,merMod)
S3method(getSummary,multinom)
S3method(getSummary,phreg)
S3method(getSummary,polr)
S3method(getSummary,simex)
S3method(getSummary,survreg)
S3method(getSummary,tobit)
S3method(getSummary,weibreg)
S3method(getSummary_expcoef,glm)
S3method(sort,data.frame)
S3method(sort,data.set)
S3method(print,mtable)
S3method(format,mtable)
S3method(toLatex,default)
S3method(toLatex,matrix)
S3method(toLatex,mtable)
S3method(toLatex,ftable)
S3method(relabel,mtable)
S3method(Termplot,default)
S3method(relabel,default)
S3method(relabel,factor)
S3method(reorder,matrix)
S3method(reorder,array)
S3method(prediction.frame,default)
S3method(collect,default)
S3method(collect,matrix)
S3method(collect,array)
S3method(collect,table)
S3method(collect,data.frame)
S3method(collect,data.set)
S3method(collect,by)
S3method(fapply,default)
S3method(percent,default)
S3method(percent,logical)
S3method(By,default)
S3method(By,data.frame)
S3method(print,bucket)
S3method(dim,default_bucket)
S3method(as.matrix,default_bucket)
S3method(as.data.frame,default_bucket)
S3method(pour_out,default_bucket)
S3method(put_into,textfile_bucket)
S3method(pour_out,textfile_bucket)
S3method(dim,textfile_bucket)
S3method(as.data.frame,textfile_bucket)
S3method(as.matrix,textfile_bucket)
S3method("[",bucket)

exportClasses(
  atomic,
  value.labels,
  value.filter,
  valid.values,
  valid.range,
  missing.values,
  annotation,
  item,
  double,
  integer.item,
  double.item,
  character.item,
  numeric.item,
  item.vector,
  named.list,
  item.list,
  data.set,
  spss.fixed.importer,
  spss.portable.importer,
  spss.system.importer,
  Stata.importer,
  importer,
  codebook
  )

exportMethods(
    as.item,
    labels,
    "labels<-",
    value.filter,
    valid.values,
    missing.values,
    valid.range,
    "valid.values<-",
    "valid.range<-",
    "missing.values<-",
    measurement,
    "measurement<-",
    annotation,
    "annotation<-",
    Arith,
    Compare,
    Math,
    Math2,
    Summary,
    format,
    print,
    show,
    unique,
    "[",
    "[<-",
    "rep",
    row.names,
    dimnames,
    as.array,
    as.vector,
    as.character,
    as.numeric,
    as.integer,
    as.factor,
    as.ordered,
    contrasts,
    "contrasts<-",
    summary,
    within,
    "%in%",
    recode,
    dim,
    subset,
    initialize,
    coerce,
    Table,
    Descriptives,
    codebook,
    sample,
    query
    )
S3method(as.data.frame,character.item)
S3method(as.data.frame,double.item)
S3method(as.data.frame,integer.item)
S3method("[[<-",data.set)
S3method(str,data.set)
S3method(str,integer.item)
S3method(str,double.item)
S3method(str,character.item)
S3method(as.list,data.set)
S3method(as.data.frame,data.set)
S3method(cbind,data.set)
S3method(fapply,data.set)
S3method(print,descriptions)
S3method(Iconv,item)
S3method(Iconv,value.labels)
S3method(Iconv,annotation)
S3method(Iconv,data.set)
S3method(Iconv,importer)
S3method(Write,descriptions)
S3method(Write,codebook)

