import type { FormatFunction, IntlManager, IntlMessageGetter, MessageLoader, TypedIntlMessageGetter, astFormatter, makeReactFormatter, markdownFormatter, stringFormatter } from "@discord/intl"; type MessagesBinds = Record>; type MessagesBindsProxy = MessagesBinds & { $$baseObject: MessagesBinds; $$loader: MessageLoader; }; interface Locale { value: string; name: string; localizedName: IntlMessageGetter; } interface Language { name: string; englishName: string; code: string; postgresLang: string; enabled: boolean; enabledAPI?: boolean; } export interface I18n { getAvailableLocales: () => Locale[]; getLanguages: () => Language[]; intl: IntlManager & { format: FormatFunction>; formatToPlainString: FormatFunction; formatToMarkdownString: FormatFunction; formatToParts: FormatFunction; }; t: MessagesBindsProxy; useSyncMessages: (messageLoader: MessageLoader) => void; } export interface Hash { runtimeHashMessageKey: (key: string) => string; } declare const getAvailableLocales: () => Locale[]; declare const getLanguages: () => Language[]; declare const intl: IntlManager<{ duration: {}; list: {}; relativeTime: {}; number: { integer: { maximumFractionDigits: number; }; currency: { style: "currency"; }; percent: { style: "percent"; }; }; date: { short: { month: "numeric"; day: "numeric"; year: "2-digit"; }; medium: { month: "short"; day: "numeric"; year: "numeric"; }; long: { month: "long"; day: "numeric"; year: "numeric"; }; full: { weekday: "long"; month: "long"; day: "numeric"; year: "numeric"; }; }; time: { short: { hour: "numeric"; minute: "numeric"; }; medium: { hour: "numeric"; minute: "numeric"; second: "numeric"; }; long: { hour: "numeric"; minute: "numeric"; second: "numeric"; timeZoneName: "short"; }; full: { hour: "numeric"; minute: "numeric"; second: "numeric"; timeZoneName: "short"; }; }; }> & { format: FormatFunction>; formatToPlainString: FormatFunction; formatToMarkdownString: FormatFunction; formatToParts: FormatFunction; }; declare const useSyncMessages: (messageLoader: MessageLoader) => void; export declare const runtimeHashMessageKey: (key: string) => string; export declare const t: MessagesBindsProxy; export { getAvailableLocales, getLanguages, intl, useSyncMessages };