import type { I18nDictionary } from "./rpc";
import type { ParseTranslationParams, Prettify } from "../utils/type";
import type { JSX } from "react";
type Parser<T extends Record<string, string>> = Prettify<{
    [K in keyof T]: ParseTranslationParams<T[K]>;
}[keyof T]>;
type ParamsOrNever<T> = T extends Record<string, never> ? [params?: never] : [params: T];
export declare function useTranslator<T extends keyof I18nDictionary>(component: T): {
    <K extends keyof I18nDictionary[T]["dictionary"], U extends Record<string, string> = I18nDictionary[T]["dictionary"][K]>(key: K, ...args: ParamsOrNever<Parser<U>>): any;
    jsx<K extends keyof I18nDictionary[T]["dictionary"], U extends Record<string, string> = I18nDictionary[T]["dictionary"][K]>(key: K, ...args: ParamsOrNever<Parser<U>>): JSX.Element;
};
export {};
//# sourceMappingURL=useTranslator.d.ts.map