useDynLib(ppstat, .registration = TRUE)

import(Matrix)

importFrom("splines",
           splineDesign)
       
importFrom("stats",
           family,
           predict,
           simulate,
           vcov)

importFrom("processdata",
           "subset")
           
exportClasses(Family,
              PointProcess,
              PointProcessModel,
              PointProcessSmooth,
              PointProcessKernel,
              MultivariatePointProcess)

export(bSpline,
       coefficients,
       const,
       formula,
       gaussianKernel,
       Gibbs,
       Hawkes,
       hawkesRate,
       Ogata,
       pointProcessModel,
       ppKernel,
       ppLasso,
       ppSmooth,
       registerParBackend,
       sobolevKernel,
       tExp,
       update)

S3method(print,
         summary.ppm)

exportMethods("coefficients",
              "coefficients<-",
              "computeMinusLogLikelihood",
              "computeDMinusLogLikelihood",
              "computeDDMinusLogLikelihood",
              "family",
              "formula",
              "getInformation",
              "getLinearFilter",
              "penalty",
              "penalty<-",
              "predict",
              "ppmFit",
              "processData",
              "simulate",
              "stepInformation",
              "subset",
              "summary",
              "termPlot",
              "update",
              "vcov")
