useDynLib("chron", .registration = TRUE)

import("stats")

importFrom("graphics", "Axis", "axis", "barplot", "hist", "par",
           "plot", "plot.default", "plot.new", "plot.window", "rect")

export(".Holidays",
       "as.chron", "as.dates", "as.times",
       "chron",
       "dates", "day.of.week", "days",
       "hours",
       "is.chron", "is.holiday", "is.weekend",
       "leap.year",
       "minutes", "month.day.year",
       "origin", "origin<-",
       "seconds", "seq.dates",
       "times",
       "years")

## Grr ...
export("year.expand", "year.strict")

export("chron_trans", "scale_x_chron", "scale_y_chron")

S3method("as.chron", "POSIXt")
S3method("as.chron", "Date")
S3method("as.chron", "default")
S3method("as.chron", "ts")
S3method("as.chron", "yearmon")
S3method("as.chron", "yearqtr")
S3method("as.dates", "default")
S3method("as.times", "default")
S3method("julian", "default")
S3method("months", "default")
S3method("quarters", "default")
S3method("weekdays", "default")

S3method("as.data.frame", "chron")
S3method("format", "chron")
S3method("pretty", "chron")
S3method("print", "chron")
S3method("unique", "chron")
S3method("xtfrm", "chron")

S3method("Math", "dates")
S3method("Ops", "dates")
S3method("Summary", "dates")
S3method("[<-", "dates")
S3method("all.equal", "dates")
S3method("as.Date", "dates")
S3method("as.POSIXct", "dates")
S3method("as.POSIXlt", "dates")
S3method("as.data.frame", "dates")
S3method("c", "dates")
S3method("cut", "dates")
S3method("format", "dates")
S3method("print", "dates")
S3method("pretty", "dates")
S3method("seq", "dates")
S3method("unique", "dates")
S3method("xtfrm", "dates")

S3method("Axis", "times")
S3method("Math", "times")
S3method("Ops", "times")
S3method("Summary", "times")
S3method("[", "times")
S3method("[<-", "times")
S3method("[[", "times")
S3method("as.character", "times")
S3method("as.data.frame", "times")
S3method("axis", "times")
S3method("c", "times")
S3method("diff", "times")
S3method("format", "times")
S3method("format<-", "times")
S3method("hist", "times")
S3method("identify", "times")
S3method("is.na", "times")
S3method("lines", "times")
S3method("mean", "times")
S3method("plot", "times")
S3method("points", "times")
S3method("print", "times")
S3method("pretty", "times")
S3method("quantile", "times")
S3method("rep", "times")
S3method("summary", "times")
S3method("unique", "times")
S3method("trunc", "times")
S3method("xtfrm", "times")
