import type { MessageFormatter } from "../types.js"; /** * Basic ICU-style select formatter. * * Expected message usage (simplified): * {gender, select, male{He} female{She} other{They}} * {gender, select, male {He} female {She} other {They}} * * Parser passes the raw token/segment list for all arguments to this formatter: * ["male","{",["He"],"}"," ","female","{",["She"],"}"," ","other","{",["They"],"}"] * * This implementation: * - Scans the argument list for KEY "{" CONTENT "}" patterns * - Builds a mapping { key -> flattened string content } * - Returns mapping[value] if present, else mapping.other, else empty string * * Limitations (given the current parser behavior): * - Content inside option braces is not further parsed; any nested `{}` or variables * are treated as raw text (because the parser treats them as unmatched delimiters * within transformer arguments). If deeper dynamic behavior is desired later, * the parser would need to recursively parse those segments into message ASTs * and we would need to evaluate them here with access to the runtime context. */ export declare const select: MessageFormatter; //# sourceMappingURL=select.d.ts.map