import { M as ModuleWithPermissions } from './types-bsm8Fp55.js'; import { H as HelpContentConfig } from './help-content-config.interface-C5ESIod9.js'; import { ComponentType } from 'react'; /** * Configure the JSON:API client. This is the main configuration function. * This is typically called during app initialization. * @param config.helpContent - Optional help-content config (brand only). Forwarded to the help feature's globalThis-backed store; not stored on the client config. */ declare function configureJsonApi(config: { apiUrl: string; appUrl?: string; trackablePages?: ModuleWithPermissions[]; bootstrapper?: () => void; additionalHeaders?: Record; stripePublishableKey?: string; helpContent?: HelpContentConfig; }): void; /** * Configure the client config. This is typically called during app initialization. * @deprecated Use configureJsonApi instead */ declare function configureClientConfig(config: { apiUrl: string; appUrl?: string; trackablePages?: ModuleWithPermissions[]; }): void; /** * Get the configured API URL. * * This may resolve to an internal/private host (e.g. a docker-network * hostname) when configured to do so for SSR fetches. Do NOT use this for * URLs that are rendered into HTML and followed by the browser — use * `getPublicApiUrl()` instead. */ declare function getApiUrl(): string; /** * Get the public-facing API URL. * * Always sourced from `NEXT_PUBLIC_API_URL` so it is identical on server * and client, and reachable from the user's browser. Use for any URL that * gets rendered into HTML the browser will navigate to (links, redirects, * OAuth hrefs). */ declare function getPublicApiUrl(): string; /** * Get the configured app URL. */ declare function getAppUrl(): string; /** * Get the configured trackable pages. */ declare function getTrackablePages(): ModuleWithPermissions[]; /** * Get the configured Stripe publishable key. */ declare function getStripePublishableKey(): string | undefined; interface I18nRouter { push: (href: string) => void; replace: (href: string) => void; back: () => void; forward: () => void; refresh: () => void; prefetch: (href: string) => void; } type UseRouterHook = () => I18nRouter; type UseTranslationsHook = (namespace?: string) => (key: string, values?: Record) => string; type UseLocaleHook = () => string; type UseDateFnsLocaleHook = () => any; type LinkComponent = ComponentType<{ href: string; children: React.ReactNode; [key: string]: any; }>; interface I18nConfig { useRouter: UseRouterHook; useTranslations: UseTranslationsHook; useLocale?: UseLocaleHook; useDateFnsLocale?: UseDateFnsLocaleHook; Link: LinkComponent; usePathname: () => string; } declare function configureI18n(config: I18nConfig): void; declare function useI18nRouter(): I18nRouter; declare function useI18nTranslations(namespace?: string): (key: string, values?: Record) => string; declare function getI18nLink(): LinkComponent; declare function useI18nLocale(): string; declare function useI18nDateFnsLocale(): any; export { type I18nConfig as I, type LinkComponent as L, type UseDateFnsLocaleHook as U, getPublicApiUrl as a, getAppUrl as b, configureJsonApi as c, getTrackablePages as d, getStripePublishableKey as e, configureI18n as f, getApiUrl as g, configureClientConfig as h, getI18nLink as i, useI18nLocale as j, useI18nRouter as k, useI18nTranslations as l, type I18nRouter as m, type UseLocaleHook as n, type UseRouterHook as o, type UseTranslationsHook as p, useI18nDateFnsLocale as u };