import type { NamespacesNeeded, Ni18nOptions, Ni18nServerState } from '../common';
/**
 * Use `loadTranslations` inside `getStaticProps` or `getServerSideProps`
 * to make the translations available for the client through the `pageProps`.
 *
 * Any namespace not loaded by this function will not be available to be
 * loaded on the client side, you can use `clientNamespaces` in conjunction
 * with this one to make them available. Any overlapping namespaces will be
 * loaded on the server instead.
 *
 * ```js
 * export const getStaticProps = async (props) => ({
 *   props: {
 *     ...(await loadTranslations(ni18nConfig, props.locale, 'my-namespace')),
 *   },
 * })
 * ```
 *
 * @param options The options allowed by [i18next options](https://www.i18next.com/overview/configuration-options) plus the `use` property for plugins
 * @param initialLocale The initial locale for this page
 * @param namespacesNeeded The namespaces that are needed for all the elements in this page
 * @returns an object with a `__ni18n_server__` property to be used internally
 */
export declare const loadTranslations: (options: Ni18nOptions, initialLocale?: string, namespacesNeeded?: NamespacesNeeded) => Promise<Ni18nServerState>;
