# Generated by roxygen2: do not edit by hand

S3method(format,KorAPQuery)
export("%>%")
export(KorAPConnection)
export(KorAPQuery)
export(as_tibble)
export(bind_cols)
export(buildWebUIRequestUrl)
export(buildWebUIRequestUrlFromString)
export(cacheAsInfo)
export(ci)
export(complete)
export(defaultAssociationScoreFunctions)
export(expand_grid)
export(geom_freq_by_year_ci)
export(group_by)
export(hc_add_onclick_korap_search)
export(hc_freq_by_year_ci)
export(ipm)
export(ll)
export(logDice)
export(mergeDuplicateCollocates)
export(mi2)
export(mi3)
export(mutate)
export(n)
export(percent)
export(pmi)
export(queryStringToLabel)
export(select)
export(summarise)
export(synsemanticStopwords)
export(tidy)
export(year)
exportClasses(KorAPConnection)
exportClasses(KorAPCorpusStats)
exportClasses(KorAPQuery)
exportMethods(apiCall)
exportMethods(auth)
exportMethods(clearAccessToken)
exportMethods(clearCache)
exportMethods(collocationAnalysis)
exportMethods(collocationScoreQuery)
exportMethods(corpusQuery)
exportMethods(corpusStats)
exportMethods(fetchAll)
exportMethods(fetchAnnotations)
exportMethods(fetchNext)
exportMethods(fetchRest)
exportMethods(frequencyQuery)
exportMethods(initialize)
exportMethods(persistAccessToken)
exportMethods(show)
exportMethods(textMetadata)
import(R.cache)
import(highcharter)
import(httr2)
import(keyring)
import(methods)
import(utils)
importFrom(broom,tidy)
importFrom(curl,has_internet)
importFrom(dplyr,
  .data,
  across,
  all_of,
  anti_join,
  arrange,
  as_tibble,
  bind_cols,
  bind_rows,
  case_when,
  desc,
  enquo,
  everything,
  filter,
  first,
  group_by,
  if_else,
  left_join,
  mutate,
  n,
  quo_name,
  relocate,
  rename,
  row_number,
  rowwise,
  select,
  slice_head,
  starts_with,
  summarise,
  tibble,
  ungroup,
  where
)
importFrom(ggplot2,
  GeomPoint,
  aes,
  element_text,
  geom_line,
  geom_point,
  geom_ribbon,
  ggplot,
  ggproto,
  layer,
  scale_x_continuous,
  theme
)
importFrom(httr2,
  oauth_client,
  oauth_flow_auth_code,
  url_modify,
  url_parse
)
importFrom(jsonlite,fromJSON)
importFrom(lubridate,year)
importFrom(magrittr,
  "%>%",
  debug_pipe
)
importFrom(purrr,
  map,
  pmap
)
importFrom(rlang,sym)
importFrom(stats,
  median,
  prop.test
)
importFrom(stringr,
  str_detect,
  str_match,
  str_split,
  word
)
importFrom(tibble,
  add_column,
  as_tibble,
  enframe,
  remove_rownames,
  rownames_to_column,
  tibble
)
importFrom(tidyr,
  complete,
  expand_grid,
  pivot_longer,
  pivot_wider,
  unchop,
  unnest
)
importFrom(urltools,
  param_get,
  url_decode,
  url_encode
)
