/** * The minor patient warning: which of platform's four messages applies * (platform helpers/patientMinorWarning.ts, getMinorPatientWarning). It is * advice on who should sign for a patient under 18 and never blocks the * request. Pure, so the modal and its tests share one rule. */ /** * - `addSignee`: the patient signs and has no registered signee yet. * - `selectSignee`: the patient signs while a registered signee could. * - `selectSecondSignee`: one signee signs, a second seat is free and * another registered signee could take it. * - `addSecondSignee`: one signee signs, a second seat is free and nobody * else is registered. */ export type MinorPatientWarning = 'addSignee' | 'selectSignee' | 'selectSecondSignee' | 'addSecondSignee'; /** The two warnings that offer the host's "Add signatory" flow. */ export declare function offersSigneeCreation(warning: MinorPatientWarning): boolean; interface MinorPatientPerson { value: string; isPatient?: boolean; isMinor?: boolean; } /** * `null` when no option `isPatient`, when the patient is not `isMinor`, * or when the roster already covers the situation. * * Platform has one main signer and at most one second signee, and the * patient is never a second signee. The kit's roster can hold the patient * beside a signee, so it counts registered signees on the roster instead * of reading positions: none means the patient signs alone (or nobody has * been picked yet), one means a second signee could still be added. */ export declare function minorPatientWarning({ options, rosterIds, rosterCap, }: { options: readonly MinorPatientPerson[]; /** The signers on the roster, in order. */ rosterIds: readonly string[]; /** How many signers the roster can hold right now. */ rosterCap: number; }): MinorPatientWarning | null; export {}; //# sourceMappingURL=minor-patient.d.ts.map