// history
export { createWebHistory } from './history/html5'
export { createMemoryHistory } from './history/memory'
export { createWebHashHistory } from './history/hash'
export type { RouterHistory, HistoryState } from './history/common'
// matcher
export { createRouterMatcher } from './matcher'
export type { RouterMatcher } from './matcher'
export type { RouteRecord, RouteRecordNormalized } from './matcher/types'
export type { PathParserOptions, _PathParserOptions } from './matcher/pathParserRanker'
// router, RouterView, RouterLink
export { createRouter } from './router'
export type { Router, RouterOptions, RouterScrollBehavior } from './router'
export { RouterView } from './RouterView'
export type { RouterViewProps } from './RouterView'
export { RouterLink, useLink } from './RouterLink'
export type { _RouterLinkI, RouterLinkProps, UseLinkOptions } from './RouterLink'
// navigationGuards
export {
onBeforeRouteLeave,
onBeforeRouteUpdate,
loadRouteLocation,
} from './navigationGuards'
// errors
export { NavigationFailureType, isNavigationFailure } from './errors'
export type { NavigationFailure, ErrorTypes, NavigationRedirectError } from './errors'