importFrom("stats","loadings")

import("setRNG")
import("GPArotation")
import("tfplot")
import("tframe")
importFrom("dse","simulate")
importFrom("dse","checkResiduals")
importFrom("EvalEst","EstEval")
importFrom("EvalEst","distribution")

#########  FA  #########

export("FAmodel")
S3method("FAmodel", "default")
S3method("FAmodel", "FAmodel")

S3method("predict", "FAmodel")

#S3method("simulate", "FAmodel")

export("loadings")
S3method("loadings", "default")
S3method("loadings", "FAmodel")

export("factors")
S3method("factors", "fFAmodel")

export("nfactors")
S3method("nfactors", "FAmodel")

export("factorNames")
S3method("factorNames", "FAmodel")

export("explained")
S3method("explained", "FAmodel")

S3method("summary", "FAmodel")
S3method("print", "summary.FAmodel")

export("LedermannBound")

export("FAfitStats")
S3method("FAfitStats", "default")
#S3method("FAfitStats", "FAmodel")

export("permusign")
export("estFAmodel")

#########  TSFA  #########

S3method("predict", "TSFmodel")

S3method("diff", "TSFmodel")
#S3method("diff", "TSFestModel")
S3method("diff", "TSFexplained")
S3method("diff", "TSFfactors")
S3method("diff", "factorsEstEval")

#export("standardizedLoadings")
#S3method("standardizedLoadings", "TSFestModel")
export("DstandardizedLoadings")
S3method("DstandardizedLoadings", "TSFmodel")

S3method("distribution", "factorsEstEval")
S3method("checkResiduals", "TSFmodel")

S3method("factors", "EstEval")
S3method("nfactors", "EstEval")

S3method("factorNames", "TSFfactors")
S3method("factorNames", "EstEval")

S3method("seriesNames", "TSFmodel")

export("TSFmodel")
S3method("TSFmodel", "default")
S3method("TSFmodel", "FAmodel")
S3method("TSFmodel", "TSFmodel")

S3method("simulate", "TSFmodel")

S3method("explained", "TSFmodel")

S3method("summary", "TSFmodel")
S3method("summary", "TSFmodelEstEval")

S3method("print", "summary.TSFmodel")
S3method("print", "summary.TSFmodelEstEval")
S3method("tframe", "TSFmodel")
S3method("tfplot", "TSFmodel")
#S3method("tfplot", "TSFestModel")
S3method("tfplot", "TSFfactors")
S3method("tfplot", "TSFexplained")
S3method("tfplot", "TSFmodelEstEval")

#export("FAmodelFitStats")
S3method("FAfitStats", "TSFmodel")

export("summaryStats")
S3method("summaryStats", "TSFmodelEstEval")

export("estTSFmodel")
export("estTSF.ML")

