import type { NumberFormatOptions } from '@formatjs/ecma402-abstract';
import IntlTranslationFormat from 'intl-messageformat';
export type IntlListFormatOptions = {
    localeMatcher?: 'best fit' | 'lookup';
    type?: 'conjunction' | 'disjunction' | 'unit';
    style?: 'long' | 'short' | 'narrow';
};
declare abstract class IntlListFormat {
    constructor(locales?: string | string[], options?: IntlListFormatOptions);
    format: (items: string[]) => string;
}
type BaseFormatters = {
    getNumberFormat(locales?: string | string[], opts?: NumberFormatOptions): Intl.NumberFormat;
    getDateTimeFormat(...args: ConstructorParameters<typeof Intl.DateTimeFormat>): Intl.DateTimeFormat;
    getPluralRules(...args: ConstructorParameters<typeof Intl.PluralRules>): Intl.PluralRules;
    getListFormat(...args: ConstructorParameters<typeof IntlListFormat>): IntlListFormat;
};
type Formatters = BaseFormatters & {
    getTranslationFormat(...args: ConstructorParameters<typeof IntlTranslationFormat>): IntlTranslationFormat;
};
declare const formatters: Formatters;
export default formatters;
