# 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(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
)
