/** * One input's reading of the answer: { value, evidence } or null. `evidence` is what the answer spent on it (digits * or words), so two inputs that claim the same part of the answer are told apart from a compound answer. */ export function readInputProfile(profile: any, answer: any, isCurrent?: boolean): any; /** * candidates: [{ form, name, profile, value?, confirm_against? }] — the inputs of the form chain that apply now (`when` * holds): the current form's first, then its parent's, and so on up. `value` is what is already stored for it. * current: { form, name } of the input that was asked, or { form, names } when the asked input is one of several * (an any_of group: phone, email or account number); every member counts as the current input. choiceKey: the key * ask-choice picked from the current input's own choices, if any. * * Readings that claim DIFFERENT parts of the answer are all taken (a compound answer fills several inputs). Readings * that claim the SAME part are settled by scope (owner decision 2026-10-19, A): * 1. the current input takes it; * 2. else the one input of the current form that fits takes it, and parent forms are not considered; * 3. else the same test one form up, and so on; * 4. two inputs at the nearest form that fits are ambiguous: asked, never ranked. * Exception: an input that declares `confirm_against: [names]` is asked about together with those inputs whenever both * fit the same words, wherever scope would have put it ('62' at the payment offer: $62 or sub-account 62, prod * 2026-10-19 07:38). * * Returns { hits, ambiguous }: * hits — what the answer fills, each { form, name, value, known } (`known`: equals the stored value); * ambiguous — the readings to ask about (the first such group), or empty. */ /** Explicit information questions are a separate answer kind, so their topic is not accepted as a field value. * A question clause is consumed as a question; independently separated clauses remain available for collection. */ export function readFormAnswer(answer: any, candidates: any, current: any, choiceKey: any, questions?: any[]): { hits: any[]; ambiguous: any; remaining: any[]; questions: any[]; }; export function matchInputs(answer: any, candidates: any, current: any, choiceKey: any): { remaining?: any[] | undefined; hits: { [x: string]: any; }[]; ambiguous: any; }; //# sourceMappingURL=match-inputs.d.ts.map