# 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(fetchNext)
exportMethods(fetchRest)
exportMethods(frequencyQuery)
exportMethods(initialize)
exportMethods(persistAccessToken)
exportMethods(show)
exportMethods(textMetadata)
import(R.cache)
import(highcharter)
import(httr)
import(keyring)
import(methods)
import(utils)
importFrom(PTXQC,lcpCount)
importFrom(PTXQC,lcsCount)
importFrom(broom,tidy)
importFrom(curl,has_internet)
importFrom(dplyr,.data)
importFrom(dplyr,across)
importFrom(dplyr,anti_join)
importFrom(dplyr,arrange)
importFrom(dplyr,as_tibble)
importFrom(dplyr,bind_cols)
importFrom(dplyr,bind_rows)
importFrom(dplyr,case_when)
importFrom(dplyr,desc)
importFrom(dplyr,enquo)
importFrom(dplyr,everything)
importFrom(dplyr,filter)
importFrom(dplyr,first)
importFrom(dplyr,group_by)
importFrom(dplyr,if_else)
importFrom(dplyr,mutate)
importFrom(dplyr,n)
importFrom(dplyr,relocate)
importFrom(dplyr,rename)
importFrom(dplyr,rowwise)
importFrom(dplyr,select)
importFrom(dplyr,slice_head)
importFrom(dplyr,starts_with)
importFrom(dplyr,summarise)
importFrom(dplyr,tibble)
importFrom(dplyr,ungroup)
importFrom(dplyr,where)
importFrom(ggplot2,GeomPoint)
importFrom(ggplot2,aes)
importFrom(ggplot2,element_text)
importFrom(ggplot2,geom_line)
importFrom(ggplot2,geom_point)
importFrom(ggplot2,geom_ribbon)
importFrom(ggplot2,ggplot)
importFrom(ggplot2,ggproto)
importFrom(ggplot2,layer)
importFrom(ggplot2,scale_x_continuous)
importFrom(ggplot2,theme)
importFrom(httr,build_url)
importFrom(httr,parse_url)
importFrom(httr2,oauth_client)
importFrom(httr2,oauth_flow_auth_code)
importFrom(jsonlite,fromJSON)
importFrom(lubridate,year)
importFrom(magrittr,"%>%")
importFrom(magrittr,debug_pipe)
importFrom(purrr,map)
importFrom(purrr,pmap)
importFrom(stats,prop.test)
importFrom(stringr,str_detect)
importFrom(stringr,str_match)
importFrom(stringr,str_split)
importFrom(stringr,word)
importFrom(tibble,add_column)
importFrom(tibble,as_tibble)
importFrom(tibble,enframe)
importFrom(tibble,remove_rownames)
importFrom(tibble,rownames_to_column)
importFrom(tibble,tibble)
importFrom(tidyr,complete)
importFrom(tidyr,expand_grid)
importFrom(tidyr,pivot_longer)
importFrom(tidyr,pivot_wider)
importFrom(tidyr,unchop)
importFrom(tidyr,unnest)
importFrom(urltools,url_encode)
