import { type MessageFormatElement, parse, type ParserOptions } from "@formatjs/icu-messageformat-parser"; import { type Formats, type Formatters, type FormatXMLElementFn, type MessageFormatPart, type PrimitiveType } from "./formatters.js"; export interface Options extends Omit { formatters?: Formatters; } export declare class IntlMessageFormat { private readonly ast; private readonly locales; private readonly resolvedLocale?; private readonly formatters; private readonly formats; private readonly message; private readonly formatterCache; constructor(message: string | MessageFormatElement[], locales?: string | string[], overrideFormats?: Partial, opts?: Options); format: (values?: Record>) => string | T | (string | T)[]; formatToParts: (values?: Record>) => MessageFormatPart[]; resolvedOptions: () => { locale: string; }; getAst: () => MessageFormatElement[]; private static memoizedDefaultLocale; static get defaultLocale(): string; static resolveLocale: (locales: string | string[]) => Intl.Locale | undefined; static __parse: typeof parse | undefined; static formats: Formats; }