import { ReactNode } from 'react'; declare type Translations = { key: string; value: string; }[]; declare type Replacements = { [key: string]: ReactNode; }; declare type FormatterFunction = (key: string, replacements?: Replacements, missingValue?: string) => string; declare type FirstFunction = (keys: string[], replacements?: Replacements, missingValue?: string) => string; declare type PluralizeFunction = (baseKey: string, replacements?: Replacements, missingValue?: string) => string; declare type ElementsFunction = (key: string, replacements?: Replacements, missingValue?: string) => ReactNode; declare type FirstElementsFunction = (key: string | string[], replacements?: Replacements, missingValue?: string) => ReactNode; declare type CreateFormatter = (translations: Translations) => Formatter; export declare type Formatter = FormatterFunction & { elements: ElementsFunction; first: FirstFunction & { elements?: FirstElementsFunction; }; pluralize: PluralizeFunction & { elements?: ElementsFunction; }; }; export declare const replaceKeys: (message: any, replacements: any) => any; export declare const createPlaceholderFormatter: (placeholder?: string) => { (): string; elements(): string[]; first: any; pluralize: any; }; export declare const createFormatter: CreateFormatter; export {};