/** * Shared Enum Catalogues * ======================= * Canonical `as const` value arrays for enums that span more than one * service profile (UDP, dating, future jobs / marketplace / homestay). * udp-schema is the source of truth; dating-schema imports from here so * both packages produce IDENTICAL Zod enum types for the same concept. * * Why centralise in udp-schema (not a separate `community-enums` * package)? * - UDP is the canonical identity surface — gender / religion / * occupation are identity facts before they are matchmaking facets. * - One npm dep edge (dating-schema → udp-schema) is cheaper than a * third coordination package today. When a 3rd consumer (jobs, * marketplace, homestay) needs these, extract to a standalone * `community-enums` package — the shape is the same, just lifted. * * Scope of this file: * - ONLY the enums where a shared concept exists across services. * - Service-specific enums (dating's `loveLanguage`, UDP's * `reservationStatus`) stay in their owning package. * * @module udp-schema/shared-enums */ /** * Self-identified gender. 17 values covering the full identity spectrum * including trans and South Asian-specific identities (hijra). * * Use everywhere gender is recorded: UDP step-01, dating-profile, * future service profiles. NEVER write `male` / `female` — the older * binary vocabulary is intentionally retired in favour of `man` / * `woman` (per current inclusive-identity conventions). */ export declare const GENDER_VALUES: readonly ["man", "woman", "non_binary", "trans_man", "trans_woman", "genderfluid", "genderqueer", "agender", "bigender", "pangender", "androgynous", "intersex", "gender_nonconforming", "two_spirit", "hijra", "other", "prefer_not_to_say"]; export type Gender = (typeof GENDER_VALUES)[number]; /** * Family or personal religion, denominated to the sect / branch level. * 22 values covering the major Indian religious communities plus * non-religious / prefer-not-to-say options. * * The denomination granularity (e.g., `muslim_sunni` vs `muslim_shia`, * `jain_digambar` vs `jain_shwetambar`) matters for both: * - Population stats: denomination-level rollups for the superadmin * dashboard. * - Matchmaking: marriage rules within communities are often * denomination-specific. */ export declare const RELIGION_VALUES: readonly ["hindu", "muslim_sunni", "muslim_shia", "muslim_sufi", "muslim_other", "christian_catholic", "christian_protestant", "christian_other", "sikh", "jain_digambar", "jain_shwetambar", "buddhist", "parsi_zoroastrian", "jewish", "bahai", "spiritual", "atheist", "agnostic", "no_religion", "inter_religion", "other", "prefer_not_to_say"]; export type Religion = (typeof RELIGION_VALUES)[number]; /** * Industry / occupation taxonomy. 39 values covering the main Indian * economic sectors plus non-working statuses (student / homemaker / * retired / not_working / differently_abled_pension). * * Used by UDP step-07 (`occupation` + `dreamOccupation`) and * dating-profile (`profession`). The two were already aligned in * practice — this declaration formalises the canonical list so they * can't drift. * * `prefer_not_to_say` is intentionally placed at the end so UI * dropdowns surface it as the final option. */ export declare const OCCUPATION_VALUES: readonly ["it_software", "engineering", "healthcare_doctor", "healthcare_nursing", "healthcare_pharma", "psychology_therapy", "education_teaching", "science_research", "finance_banking", "chartered_accountant", "business_management", "arts_entertainment", "media_communication", "design_creative", "civil_services", "government_public", "defence_military", "police_law_enforcement", "legal", "skilled_trades", "transport_logistics", "hospitality_travel", "beauty_wellness", "agriculture_farming", "real_estate", "retail_ecommerce", "manufacturing", "merchant_navy", "ngo_social_work", "religious_spiritual", "freelancer_gig", "content_creator", "self_employed", "student", "homemaker", "retired", "not_working", "differently_abled_pension", "other", "prefer_not_to_say"]; export type Occupation = (typeof OCCUPATION_VALUES)[number]; /** * Highest education attained, on the Indian system. 8 values matching * the buckets the dashboard's education-distribution widget rolls up * into. The granular education timeline (board, year, degree, * currently-studying-or-not) lives in UDP step-06's `education10th` * / `education12th` / `graduations[]` / etc.; `highestQualification` * is the single-bucket summary. * * Use for the matchmaking education filter, the dashboard rollup, * and any future jobs / counseling profile. */ /** * Education level reached — the SINGLE canonical vocabulary shared by * UDP step-06 `highestQualification` AND dating-profile `educationLevel`. * * These two fields sync bidirectionally (UDP is the write-master; the * dating profile keeps a denormalized cache). They MUST use an identical * value set, otherwise the sync needs a lossy vocabulary translation — * which previously collapsed distinct values (e.g. dating `self_taught` * → UDP `OTHER` → back to dating `prefer_not_to_say`) and silently * corrupted the user's saved answer. Sharing one enum here makes the * sync a direct copy and removes any chance of drift. * * 16 values: an exhaustive, ascending ladder of levels that also covers * in-progress states (`in_college`, `in_grad_school`) and non-academic * paths (`self_taught`). `other` / `prefer_not_to_say` sit at the end so * UI dropdowns surface them last. * * NOTE: this replaces the earlier 8-bucket uppercase academic taxonomy * (`CLASS_10 … POST_DOCTORATE / OTHER`). Existing rows are migrated to * these values (see migrate-education-vocab). */ export declare const EDUCATION_LEVEL_VALUES: readonly ["below_10th", "class_10", "class_12", "iti_vocational", "diploma", "in_college", "associate", "bachelors", "in_grad_school", "masters", "professional", "doctorate", "post_doctorate", "self_taught", "other", "prefer_not_to_say"]; export type EducationLevel = (typeof EDUCATION_LEVEL_VALUES)[number]; /** * @deprecated Alias of {@link EDUCATION_LEVEL_VALUES}. UDP step-06's field * is named `highestQualification`; it now carries the shared education * vocabulary. Kept so existing importers keep compiling. */ export declare const HIGHEST_QUALIFICATION_VALUES: readonly ["below_10th", "class_10", "class_12", "iti_vocational", "diploma", "in_college", "associate", "bachelors", "in_grad_school", "masters", "professional", "doctorate", "post_doctorate", "self_taught", "other", "prefer_not_to_say"]; export type HighestQualification = EducationLevel; //# sourceMappingURL=shared-enums.d.ts.map