import { ElementType, ReactNode } from 'react';
import { PolymorphicComponentProps } from '../../utils/types';
interface BaseTranslateProps {
    /**
     * A some prefix for the message key.
     * @since 2.6.0
     */
    namespace?: string;
    /**
     * Translatable content or message key.
     * @since 0.0.42
     */
    content?: string;
    /**
     * Message params
     * @since 0.0.42
     */
    params?: {
        [key: string]: ReactNode;
    };
    /**
     * Fallback translation value.
     * @since 0.0.47
     */
    fallback?: string;
    /**
     * A set of translation messages. If the set contains a message key, the component uses an item from the set for rendering.
     * @ignore
     */
    translators?: {
        [key: string]: ReactNode;
    };
    /**
     * @ignore
     */
    unsafe?: boolean;
    /**
     * @ignore
     */
    children?: string;
}
export declare type TranslateProps<Component extends ElementType = 'span'> = {
    /**
     * Component to render as the root element. Useful when rendering a `Translate` as `<option>`.
     * @since 0.0.42
     * @type ElementType
     * @default span
     */
    component?: Component;
} & PolymorphicComponentProps<Component, BaseTranslateProps>;
/**
 * `Translate` component.
 * @since 0.0.42
 */
declare const Translate: <Component extends ElementType<any> = "span">({ component, content, children, params, unsafe, fallback, namespace, translators, ...props }: TranslateProps<Component>) => any;
export default Translate;
