export interface MessageNode { type: string; name?: string; style?: string; offset?: number; options?: Record<string, (string | MessageNode)[]> }
export interface CompiledCatalog { source: string; languages: Record<string, string>; messages: Record<string, Record<string, (string | MessageNode)[]>> }
export function createI18n(catalog: CompiledCatalog): (token: string, language?: string, values?: Record<string, unknown>) => string;
