import { LocaleOptions, matchLocale, readAcceptLanguage, readLocaleCookie, resolveLocale, serializeLocaleCookie } from "./locale.mjs";
import { createMessageCatalogs } from "./message-catalogs.mjs";
import { Messages } from "@lingui/core";
import { Trans } from "@lingui/react";
import { ReactNode } from "react";
//#region src/ui/i18n.d.ts
declare function createLocaleRuntime<const Locale extends string>({ locales, defaultLocale, cookieName }: {
  locales: readonly Locale[];
  defaultLocale: Locale;
  cookieName: string;
}): {
  LocaleProvider: ({ children, messages, initialLocale, preferredLocale, onLocaleChange }: {
    children: ReactNode;
    messages: (locale: Locale) => Messages;
    initialLocale?: string | null;
    preferredLocale?: string | null;
    onLocaleChange?: (locale: Locale) => void | Promise<void>;
  }) => import("react").JSX.Element;
  useLocale: () => {
    locale: Locale;
    selectLocale: (locale: Locale) => Promise<void>;
  };
  useTranslation: <MessageId extends string>() => (id: MessageId, values?: Record<string, string | number>) => string;
  detectLocale: (preferredLocale?: string | null) => Locale;
  getLocale: () => Locale;
};
//#endregion
export { type LocaleOptions, Trans, createLocaleRuntime, createMessageCatalogs, matchLocale, readAcceptLanguage, readLocaleCookie, resolveLocale, serializeLocaleCookie };
//# sourceMappingURL=i18n.d.mts.map