import { ReactNode } from 'react';
import { Locale } from '../type';
declare const getLocale: (languages?: {
    code: string;
}[]) => string;
declare const setLocale: (locale: Locale) => void;
export interface LocaleProviderProps {
    children: ReactNode;
    locale?: Locale;
    fallbackLocale?: Locale;
    translations: Record<string, any>;
    onLoadingTranslation?: (locale: Locale, languages: {
        code: string;
    }[]) => void;
    languages?: {
        code: string;
        name: string;
    }[];
}
export interface LocaleContextType {
    locale: Locale;
    changeLocale: (locale: Locale) => void;
    t: (key: string, data?: Record<string, any>) => string;
    languages: {
        code: string;
        name: string;
    }[];
}
declare const LocaleContext: import('react').Context<LocaleContextType>;
declare const Consumer: import('react').Consumer<LocaleContextType>;
declare function LocaleProvider({ children, locale, fallbackLocale, translations, onLoadingTranslation, languages, ...rest }: LocaleProviderProps): import("react/jsx-runtime").JSX.Element;
declare function useLocaleContext(): LocaleContextType;
export { LocaleProvider, Consumer as LocaleConsumer, LocaleContext, useLocaleContext, setLocale, getLocale };
