import { startProxies as startProxiesFunc } from './start';
export type { HostsFilterResult, HostsLine, StaleRpxHostsResult } from './hosts';
export type { RegistryEntry, WatchHandle, WatchOptions } from './registry';
export type { DevelopmentDnsOptions } from './dns';
export type {
  DaemonHandle,
  DaemonOptions,
  EnsureDaemonOptions,
  EnsureDaemonResult,
  StopDaemonOptions,
  StopDaemonResult,
} from './daemon';
export type { GetRoute, NoRouteOutcome, OnNoRoute, ProxyFetchHandler, ProxyRoute, ProxyServer } from './proxy-handler';
export type { UpstreamPool, UpstreamState } from './load-balancer';
export type { RedirectRouteConfig, ResolvedRedirect } from './redirect';
export type { OriginGuard, OriginGuardOptions } from './origin-guard';
export type { ResolvedAuth } from './auth';
export type { HostRoutes, PathRoute } from './host-routes';
export type { ResolvedStaticRoute, StaticResolution } from './static-files';
export type { SniTlsEntry } from './sni';
export type { CertIssuer, OnDemandCertManagerOptions } from './on-demand';
export type {
  ResolvedSite,
  ResolverProbes,
  SiteDetector,
  SiteManifest,
  SitePreset,
  SiteResolver,
  SiteResolverDeps,
} from './site-resolver';
export type {
  SiteLauncher,
  SiteProcessHandle,
  SiteRequestStatus,
  SiteSnapshot,
  SiteSupervisorOptions,
} from './site-supervisor';
export type { DaemonRunnerOptions, DaemonRunnerProxy } from './daemon-runner';
export { colors } from './colors';
export { config, config as defaultConfig } from './config';
export {
  addHosts,
  checkHosts,
  dropStaleRpxHostsLines,
  filterRpxHostsEntries,
  findStaleRpxHosts,
  hostsLineMapsHost,
  parseHostsLine,
  removeHosts,
  removeStaleRpxHosts,
  RPX_HOSTS_MARKER,
} from './hosts';
export {
  SHARED_DEV_HOST_CERT_PATH,
  buildRegistryTlsProxyOptions,
  checkExistingCertificates,
  cleanupCertificates,
  clearSslConfigCache,
  devSslToSniEntries,
  forceTrustCertificate,
  generateCertificate,
  getRootCAPaths,
  getSharedDaemonCertPaths,
  httpsConfig,
  isCertTrusted,
  loadSSLConfig,
} from './https';
export {
  MACOS_CA_TRUST_FLAGS,
  MACOS_SYSTEM_KEYCHAIN,
  RPX_ROOT_CA_COMMON_NAME,
  getMacosLoginKeychainPath,
  getMacosTrustKeychains,
  isRootCaFingerprintInKeychains,
  isRootCaTrustedForSsl,
  listCertSha256HashesByCommonName,
  pruneStaleRootCas,
  trustRootCaForBrowsers,
} from './macos-trust';
export {
  certIncludesSanHostnames,
  normalizeSha256Fingerprint,
  parseSha256HashesFromSecurityListing,
  readCertCommonName,
  readCertSha256Fingerprint,
  verifyHttpsChain,
} from './cert-inspect';
export { DefaultPortManager, findAvailablePort, isPortInUse, portManager } from './port-manager';
export {
  gcStaleEntries,
  getRegistryDir,
  isPidAlive,
  isValidId,
  readAll,
  readEntry,
  removeEntry,
  watchRegistry,
  writeEntry,
} from './registry';
export {
  DNS_PORT,
  RPX_RESOLVER_MARKER,
  contentLooksLikeRpxResolver,
  isDnsServerRunning,
  reconcileStaleDevelopmentDns,
  removeLegacyTldResolvers,
  removeResolver,
  resolverFilePath,
  setupDevelopmentDns,
  setupResolver,
  startDnsServer,
  stopDnsServer,
  syncDevelopmentDnsFromRegistry,
  tearDownDevelopmentDns,
} from './dns';
export {
  DNS_STATE_VERSION,
  LEGACY_TLD_RESOLVER_LABELS,
  devDomainsFromHosts,
  normalizeDevDomain,
  resolverBasenameForDomain,
  resolverBasenamesForDomains,
} from './dns-state';
export {
  acquireDaemonLock,
  defaultDaemonSpawnCommand,
  ensureDaemonRunning,
  getDaemonPidPath,
  getDaemonRpxDir,
  isDaemonRunning,
  readDaemonPid,
  reconcileDevelopmentDnsOnIdle,
  releaseDaemonLock,
  runDaemon,
  stopDaemon,
} from './daemon';
export { createProxyFetchHandler, createProxyWebSocketHandler, stripBasePath } from './proxy-handler';
export {
  createUpstreamPool,
  markFailure,
  markSuccess,
  primaryUpstreamUrl,
  selectUpstream,
  startHealthChecks,
  stopHealthChecks,
} from './load-balancer';
export { buildRedirectLocation, resolveRedirect } from './redirect';
export { ACME_CHALLENGE_PREFIX, readAcmeChallenge } from './acme-challenge';
export { isWildcardPattern, matchesWildcard, matchHost } from './host-match';
export { createOriginGuard } from './origin-guard';
export { enforceBasicAuth, parseHtpasswd, resolveAuth } from './auth';
export {
  buildHostRoutes,
  matchHostList,
  matchHostRoute,
  normalizePathPrefix,
  pathPrefixMatches,
} from './host-routes';
export {
  contentTypeFor,
  resolveStaticFile,
  resolveStaticRoute,
  safeRelativePath,
  serveStaticFile,
} from './static-files';
export { buildSniTlsConfig, serverNameFromCertFilename } from './sni';
export { isLikelyHostname, matchesAllowedSuffix, OnDemandCertManager } from './on-demand';
export {
  createSiteResolver,
  detectProjectPreset,
  expandHome,
  listDiscoverableSites,
  projectNameFromHost,
  readSiteManifest,
  siteIdForHost,
} from './site-resolver';
export { SiteSupervisor } from './site-supervisor';
export { escapeHtml, renderFailedPage, renderStartingPage } from './site-splash';
export { deriveIdFromTarget, runViaDaemon } from './daemon-runner';
export { cleanup } from './start';
export { startProxies, startProxy, startServer } from './start';
export * from './types';
export * from './utils';
export default startProxiesFunc;
