jansathi-community-schema 0.10.0 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -27,12 +27,330 @@
27
27
  * @module community-schema/community
28
28
  */
29
29
  import { z } from 'zod';
30
- export declare const COMMUNITY_TYPE_VALUES: readonly ["public", "private"];
30
+ /**
31
+ * public — anyone can read + post.
32
+ * restricted — anyone can read; only approved members can post. The
33
+ * middle option Reddit added so communities can be open
34
+ * to browse but moderated on the write side.
35
+ * private — only approved members can read or post. The roster
36
+ * + post bodies are hidden from non-members.
37
+ */
38
+ export declare const COMMUNITY_TYPE_VALUES: readonly ["public", "restricted", "private"];
31
39
  export type CommunityType = (typeof COMMUNITY_TYPE_VALUES)[number];
32
40
  export declare const communityTypeSchema: z.ZodEnum<{
33
41
  public: "public";
34
42
  private: "private";
43
+ restricted: "restricted";
44
+ }>;
45
+ /**
46
+ * Geographic scope a community claims. Maps onto the existing
47
+ * area-lineage tiers so discovery can match a viewer's `areaLineage`
48
+ * one tier at a time.
49
+ *
50
+ * neighborhood — hyperlocal; carries `areaLineage.localId` +
51
+ * `centerCoords`. Discovery uses the 5 km radius from
52
+ * `COMMUNITY_HYPERLOCAL_RADIUS_KM`.
53
+ * city — district-scoped; carries `areaLineage.districtId`.
54
+ * state — carries `areaLineage.stateId`.
55
+ * national — carries `areaLineage.countryId`.
56
+ * global — area-agnostic; `areaLineage` is null.
57
+ */
58
+ export declare const COMMUNITY_REACH_VALUES: readonly ["neighborhood", "city", "state", "national", "global"];
59
+ export type CommunityReach = (typeof COMMUNITY_REACH_VALUES)[number];
60
+ export declare const communityReachSchema: z.ZodEnum<{
61
+ state: "state";
62
+ national: "national";
63
+ global: "global";
64
+ neighborhood: "neighborhood";
65
+ city: "city";
66
+ }>;
67
+ /**
68
+ * Verification scope on a verified community — which leader-tier
69
+ * vouched for it.
70
+ *
71
+ * state — a state-level leader verified within their own state.
72
+ * national — a national-level leader (or higher).
73
+ * global — a global / platform-level leader.
74
+ */
75
+ export declare const COMMUNITY_VERIFIED_SCOPE_VALUES: readonly ["state", "national", "global"];
76
+ export type CommunityVerifiedScope = (typeof COMMUNITY_VERIFIED_SCOPE_VALUES)[number];
77
+ export declare const communityVerifiedScopeSchema: z.ZodEnum<{
78
+ state: "state";
79
+ national: "national";
80
+ global: "global";
81
+ }>;
82
+ /**
83
+ * Curated category enum. Slugs are **stable English keys** (snake_case);
84
+ * the visible label is i18n'd on the frontend (en/hi message files).
85
+ * Never store culturally-specific or transliterated names here — the
86
+ * locale layer owns presentation.
87
+ *
88
+ * First 12 slugs are weighted toward the Indian civic / hyperlocal
89
+ * context that Jansathi serves (Women's / Men's / Youth groups, RWA,
90
+ * Social Welfare, Civic Reform). Remaining 30 are general-interest
91
+ * categories adapted from Reddit's curated topic set + Facebook
92
+ * Groups' top discovery categories.
93
+ *
94
+ * See `docs/community-create-v2.md` §2 in the jansathi-frontend repo
95
+ * for the full label table.
96
+ */
97
+ export declare const COMMUNITY_CATEGORY_VALUES: readonly ["womens_group", "mens_group", "youth_group", "senior_citizens", "parenting_children", "resident_welfare", "social_welfare", "social_awareness", "volunteering", "civic_reform", "local_news_issues", "environment", "religion_spirituality", "festivals_culture", "devotional", "education", "competitive_exams", "books_literature", "language_learning", "health_wellness", "yoga_meditation", "fitness", "mental_health", "food_cooking", "travel", "photography", "fashion_beauty", "sports", "cricket", "arts_crafts", "music", "dance", "movies_tv", "gaming", "entertainment", "business_career", "entrepreneurship", "technology", "finance_investing", "agriculture", "news_current_affairs", "other"];
98
+ export type CommunityCategory = (typeof COMMUNITY_CATEGORY_VALUES)[number];
99
+ export declare const communityCategorySchema: z.ZodEnum<{
100
+ other: "other";
101
+ womens_group: "womens_group";
102
+ mens_group: "mens_group";
103
+ youth_group: "youth_group";
104
+ senior_citizens: "senior_citizens";
105
+ parenting_children: "parenting_children";
106
+ resident_welfare: "resident_welfare";
107
+ social_welfare: "social_welfare";
108
+ social_awareness: "social_awareness";
109
+ volunteering: "volunteering";
110
+ civic_reform: "civic_reform";
111
+ local_news_issues: "local_news_issues";
112
+ environment: "environment";
113
+ religion_spirituality: "religion_spirituality";
114
+ festivals_culture: "festivals_culture";
115
+ devotional: "devotional";
116
+ education: "education";
117
+ competitive_exams: "competitive_exams";
118
+ books_literature: "books_literature";
119
+ language_learning: "language_learning";
120
+ health_wellness: "health_wellness";
121
+ yoga_meditation: "yoga_meditation";
122
+ fitness: "fitness";
123
+ mental_health: "mental_health";
124
+ food_cooking: "food_cooking";
125
+ travel: "travel";
126
+ photography: "photography";
127
+ fashion_beauty: "fashion_beauty";
128
+ sports: "sports";
129
+ cricket: "cricket";
130
+ arts_crafts: "arts_crafts";
131
+ music: "music";
132
+ dance: "dance";
133
+ movies_tv: "movies_tv";
134
+ gaming: "gaming";
135
+ entertainment: "entertainment";
136
+ business_career: "business_career";
137
+ entrepreneurship: "entrepreneurship";
138
+ technology: "technology";
139
+ finance_investing: "finance_investing";
140
+ agriculture: "agriculture";
141
+ news_current_affairs: "news_current_affairs";
142
+ }>;
143
+ /**
144
+ * Curated tag enum. A community picks 0–`COMMUNITY_MAX_TAGS` from
145
+ * this list. Tags are stable English snake_case slugs; the visible
146
+ * label is i18n'd. The tag picker UI groups them by theme via a
147
+ * separate theme-map on the frontend; the stored enum is flat.
148
+ *
149
+ * Total: 112 tags spanning civic, health, education, sports, food,
150
+ * arts/music/faith, business/tech, local issues, and lifestyle.
151
+ */
152
+ export declare const COMMUNITY_TAG_VALUES: readonly ["volunteer", "donation_drive", "blood_donation", "anti_corruption", "women_safety", "child_safety", "senior_care", "disability_support", "lgbtq_support", "environment", "cleanliness", "plant_trees", "waste_management", "legal_aid", "rti", "voter_awareness", "government_schemes", "ngo", "charity", "relief_work", "public_service", "fundraising", "awareness_campaign", "social_justice", "yoga", "meditation", "fitness", "running", "cycling", "walking", "nutrition", "mental_health", "ayurveda", "weight_loss", "womens_health", "mens_health", "dental_health", "eye_care", "jee", "neet", "upsc", "ssc", "ielts", "school_support", "college_support", "scholarship", "career_guidance", "coding", "mathematics", "science", "languages", "spoken_english", "tutoring", "study_abroad", "cricket", "football", "badminton", "tennis", "kabaddi", "hockey", "chess", "swimming", "marathon", "street_food", "home_cooking", "vegetarian", "vegan", "jain_food", "fasting_recipes", "north_indian", "south_indian", "baking", "desserts", "classical_music", "hindustani", "carnatic", "bhajan", "kirtan", "bollywood", "dance_classical", "dance_folk", "painting", "photography", "craft", "satsang", "festivals", "pilgrimage", "entrepreneurship", "startup", "small_business", "freelancing", "real_estate", "stocks_investing", "mutual_funds", "agriculture", "handicrafts", "job_postings", "web_development", "water_supply", "electricity", "road_repair", "garbage_collection", "drainage", "public_transport", "traffic", "parking", "local_healthcare", "movies", "tv_shows", "books_club", "trekking", "parenting"];
153
+ export type CommunityTag = (typeof COMMUNITY_TAG_VALUES)[number];
154
+ export declare const communityTagSchema: z.ZodEnum<{
155
+ environment: "environment";
156
+ fitness: "fitness";
157
+ mental_health: "mental_health";
158
+ photography: "photography";
159
+ cricket: "cricket";
160
+ entrepreneurship: "entrepreneurship";
161
+ agriculture: "agriculture";
162
+ volunteer: "volunteer";
163
+ donation_drive: "donation_drive";
164
+ blood_donation: "blood_donation";
165
+ anti_corruption: "anti_corruption";
166
+ women_safety: "women_safety";
167
+ child_safety: "child_safety";
168
+ senior_care: "senior_care";
169
+ disability_support: "disability_support";
170
+ lgbtq_support: "lgbtq_support";
171
+ cleanliness: "cleanliness";
172
+ plant_trees: "plant_trees";
173
+ waste_management: "waste_management";
174
+ legal_aid: "legal_aid";
175
+ rti: "rti";
176
+ voter_awareness: "voter_awareness";
177
+ government_schemes: "government_schemes";
178
+ ngo: "ngo";
179
+ charity: "charity";
180
+ relief_work: "relief_work";
181
+ public_service: "public_service";
182
+ fundraising: "fundraising";
183
+ awareness_campaign: "awareness_campaign";
184
+ social_justice: "social_justice";
185
+ yoga: "yoga";
186
+ meditation: "meditation";
187
+ running: "running";
188
+ cycling: "cycling";
189
+ walking: "walking";
190
+ nutrition: "nutrition";
191
+ ayurveda: "ayurveda";
192
+ weight_loss: "weight_loss";
193
+ womens_health: "womens_health";
194
+ mens_health: "mens_health";
195
+ dental_health: "dental_health";
196
+ eye_care: "eye_care";
197
+ jee: "jee";
198
+ neet: "neet";
199
+ upsc: "upsc";
200
+ ssc: "ssc";
201
+ ielts: "ielts";
202
+ school_support: "school_support";
203
+ college_support: "college_support";
204
+ scholarship: "scholarship";
205
+ career_guidance: "career_guidance";
206
+ coding: "coding";
207
+ mathematics: "mathematics";
208
+ science: "science";
209
+ languages: "languages";
210
+ spoken_english: "spoken_english";
211
+ tutoring: "tutoring";
212
+ study_abroad: "study_abroad";
213
+ football: "football";
214
+ badminton: "badminton";
215
+ tennis: "tennis";
216
+ kabaddi: "kabaddi";
217
+ hockey: "hockey";
218
+ chess: "chess";
219
+ swimming: "swimming";
220
+ marathon: "marathon";
221
+ street_food: "street_food";
222
+ home_cooking: "home_cooking";
223
+ vegetarian: "vegetarian";
224
+ vegan: "vegan";
225
+ jain_food: "jain_food";
226
+ fasting_recipes: "fasting_recipes";
227
+ north_indian: "north_indian";
228
+ south_indian: "south_indian";
229
+ baking: "baking";
230
+ desserts: "desserts";
231
+ classical_music: "classical_music";
232
+ hindustani: "hindustani";
233
+ carnatic: "carnatic";
234
+ bhajan: "bhajan";
235
+ kirtan: "kirtan";
236
+ bollywood: "bollywood";
237
+ dance_classical: "dance_classical";
238
+ dance_folk: "dance_folk";
239
+ painting: "painting";
240
+ craft: "craft";
241
+ satsang: "satsang";
242
+ festivals: "festivals";
243
+ pilgrimage: "pilgrimage";
244
+ startup: "startup";
245
+ small_business: "small_business";
246
+ freelancing: "freelancing";
247
+ real_estate: "real_estate";
248
+ stocks_investing: "stocks_investing";
249
+ mutual_funds: "mutual_funds";
250
+ handicrafts: "handicrafts";
251
+ job_postings: "job_postings";
252
+ web_development: "web_development";
253
+ water_supply: "water_supply";
254
+ electricity: "electricity";
255
+ road_repair: "road_repair";
256
+ garbage_collection: "garbage_collection";
257
+ drainage: "drainage";
258
+ public_transport: "public_transport";
259
+ traffic: "traffic";
260
+ parking: "parking";
261
+ local_healthcare: "local_healthcare";
262
+ movies: "movies";
263
+ tv_shows: "tv_shows";
264
+ books_club: "books_club";
265
+ trekking: "trekking";
266
+ parenting: "parenting";
267
+ }>;
268
+ /**
269
+ * Preset designation labels — purely **representation** (not
270
+ * permission-bearing). Renders in brackets after a member's display
271
+ * name in a community context (e.g., "Hari Joshi (Chairman) · 12h ago").
272
+ *
273
+ * Permission still flows through `CommunityRole` (owner / admin /
274
+ * member). A designation does NOT promote or restrict anything.
275
+ *
276
+ * Per-community: Hari can be "Chairman" in one community and
277
+ * "Member-at-Large" in another. Custom designations (free text)
278
+ * cover the long tail; presets are surfaced first in the picker.
279
+ */
280
+ export declare const COMMUNITY_DESIGNATION_PRESETS: readonly ["chairman", "vice_chairman", "president", "vice_president", "secretary", "joint_secretary", "general_secretary", "treasurer", "joint_treasurer", "organizer", "coordinator", "spokesperson", "founder", "co_founder", "patron", "advisor", "mentor", "committee_member", "member_at_large", "volunteer"];
281
+ export type CommunityDesignationPreset = (typeof COMMUNITY_DESIGNATION_PRESETS)[number];
282
+ export declare const communityDesignationPresetSchema: z.ZodEnum<{
283
+ volunteer: "volunteer";
284
+ chairman: "chairman";
285
+ vice_chairman: "vice_chairman";
286
+ president: "president";
287
+ vice_president: "vice_president";
288
+ secretary: "secretary";
289
+ joint_secretary: "joint_secretary";
290
+ general_secretary: "general_secretary";
291
+ treasurer: "treasurer";
292
+ joint_treasurer: "joint_treasurer";
293
+ organizer: "organizer";
294
+ coordinator: "coordinator";
295
+ spokesperson: "spokesperson";
296
+ founder: "founder";
297
+ co_founder: "co_founder";
298
+ patron: "patron";
299
+ advisor: "advisor";
300
+ mentor: "mentor";
301
+ committee_member: "committee_member";
302
+ member_at_large: "member_at_large";
35
303
  }>;
304
+ /**
305
+ * Designation stored on a `CommunityMembership`. Exactly one of
306
+ * `preset` / `custom` is non-null when a designation is set.
307
+ *
308
+ * { preset: 'chairman', custom: null } — picked from the preset enum.
309
+ * { preset: null, custom: 'Press & Media' } — free text.
310
+ * null — no designation.
311
+ *
312
+ * The picker UI surfaces the preset list first; the custom path is
313
+ * for niche labels that don't fit a preset. Validation enforces
314
+ * exactly-one via a refinement.
315
+ */
316
+ export declare const communityDesignationSchema: z.ZodObject<{
317
+ preset: z.ZodNullable<z.ZodEnum<{
318
+ volunteer: "volunteer";
319
+ chairman: "chairman";
320
+ vice_chairman: "vice_chairman";
321
+ president: "president";
322
+ vice_president: "vice_president";
323
+ secretary: "secretary";
324
+ joint_secretary: "joint_secretary";
325
+ general_secretary: "general_secretary";
326
+ treasurer: "treasurer";
327
+ joint_treasurer: "joint_treasurer";
328
+ organizer: "organizer";
329
+ coordinator: "coordinator";
330
+ spokesperson: "spokesperson";
331
+ founder: "founder";
332
+ co_founder: "co_founder";
333
+ patron: "patron";
334
+ advisor: "advisor";
335
+ mentor: "mentor";
336
+ committee_member: "committee_member";
337
+ member_at_large: "member_at_large";
338
+ }>>;
339
+ custom: z.ZodNullable<z.ZodString>;
340
+ }, z.core.$strip>;
341
+ export type CommunityDesignation = z.infer<typeof communityDesignationSchema>;
342
+ /**
343
+ * Latitude / longitude pair used for hyperlocal (`reach=neighborhood`)
344
+ * communities. Stored at create time from either the picked area's
345
+ * centroid (if the Area carries coordinates) or the creator's current
346
+ * GPS as a fallback. Indexed 2dsphere on the backend; powers the
347
+ * `$nearSphere` query inside the `?nearMe=true` listing filter.
348
+ */
349
+ export declare const communityCenterCoordsSchema: z.ZodObject<{
350
+ lat: z.ZodNumber;
351
+ lng: z.ZodNumber;
352
+ }, z.core.$strip>;
353
+ export type CommunityCenterCoords = z.infer<typeof communityCenterCoordsSchema>;
36
354
  /** Role hierarchy within a single community.
37
355
  *
38
356
  * owner — creator; cannot be demoted by anyone, can transfer
@@ -77,6 +395,7 @@ export declare const communityWireSchema: z.ZodObject<{
77
395
  type: z.ZodEnum<{
78
396
  public: "public";
79
397
  private: "private";
398
+ restricted: "restricted";
80
399
  }>;
81
400
  coverImageUrl: z.ZodOptional<z.ZodString>;
82
401
  ownerUserId: z.ZodString;
@@ -84,6 +403,190 @@ export declare const communityWireSchema: z.ZodObject<{
84
403
  postCount: z.ZodNumber;
85
404
  groupId: z.ZodString;
86
405
  createdAt: z.ZodString;
406
+ category: z.ZodEnum<{
407
+ other: "other";
408
+ womens_group: "womens_group";
409
+ mens_group: "mens_group";
410
+ youth_group: "youth_group";
411
+ senior_citizens: "senior_citizens";
412
+ parenting_children: "parenting_children";
413
+ resident_welfare: "resident_welfare";
414
+ social_welfare: "social_welfare";
415
+ social_awareness: "social_awareness";
416
+ volunteering: "volunteering";
417
+ civic_reform: "civic_reform";
418
+ local_news_issues: "local_news_issues";
419
+ environment: "environment";
420
+ religion_spirituality: "religion_spirituality";
421
+ festivals_culture: "festivals_culture";
422
+ devotional: "devotional";
423
+ education: "education";
424
+ competitive_exams: "competitive_exams";
425
+ books_literature: "books_literature";
426
+ language_learning: "language_learning";
427
+ health_wellness: "health_wellness";
428
+ yoga_meditation: "yoga_meditation";
429
+ fitness: "fitness";
430
+ mental_health: "mental_health";
431
+ food_cooking: "food_cooking";
432
+ travel: "travel";
433
+ photography: "photography";
434
+ fashion_beauty: "fashion_beauty";
435
+ sports: "sports";
436
+ cricket: "cricket";
437
+ arts_crafts: "arts_crafts";
438
+ music: "music";
439
+ dance: "dance";
440
+ movies_tv: "movies_tv";
441
+ gaming: "gaming";
442
+ entertainment: "entertainment";
443
+ business_career: "business_career";
444
+ entrepreneurship: "entrepreneurship";
445
+ technology: "technology";
446
+ finance_investing: "finance_investing";
447
+ agriculture: "agriculture";
448
+ news_current_affairs: "news_current_affairs";
449
+ }>;
450
+ reach: z.ZodEnum<{
451
+ state: "state";
452
+ national: "national";
453
+ global: "global";
454
+ neighborhood: "neighborhood";
455
+ city: "city";
456
+ }>;
457
+ tags: z.ZodArray<z.ZodEnum<{
458
+ environment: "environment";
459
+ fitness: "fitness";
460
+ mental_health: "mental_health";
461
+ photography: "photography";
462
+ cricket: "cricket";
463
+ entrepreneurship: "entrepreneurship";
464
+ agriculture: "agriculture";
465
+ volunteer: "volunteer";
466
+ donation_drive: "donation_drive";
467
+ blood_donation: "blood_donation";
468
+ anti_corruption: "anti_corruption";
469
+ women_safety: "women_safety";
470
+ child_safety: "child_safety";
471
+ senior_care: "senior_care";
472
+ disability_support: "disability_support";
473
+ lgbtq_support: "lgbtq_support";
474
+ cleanliness: "cleanliness";
475
+ plant_trees: "plant_trees";
476
+ waste_management: "waste_management";
477
+ legal_aid: "legal_aid";
478
+ rti: "rti";
479
+ voter_awareness: "voter_awareness";
480
+ government_schemes: "government_schemes";
481
+ ngo: "ngo";
482
+ charity: "charity";
483
+ relief_work: "relief_work";
484
+ public_service: "public_service";
485
+ fundraising: "fundraising";
486
+ awareness_campaign: "awareness_campaign";
487
+ social_justice: "social_justice";
488
+ yoga: "yoga";
489
+ meditation: "meditation";
490
+ running: "running";
491
+ cycling: "cycling";
492
+ walking: "walking";
493
+ nutrition: "nutrition";
494
+ ayurveda: "ayurveda";
495
+ weight_loss: "weight_loss";
496
+ womens_health: "womens_health";
497
+ mens_health: "mens_health";
498
+ dental_health: "dental_health";
499
+ eye_care: "eye_care";
500
+ jee: "jee";
501
+ neet: "neet";
502
+ upsc: "upsc";
503
+ ssc: "ssc";
504
+ ielts: "ielts";
505
+ school_support: "school_support";
506
+ college_support: "college_support";
507
+ scholarship: "scholarship";
508
+ career_guidance: "career_guidance";
509
+ coding: "coding";
510
+ mathematics: "mathematics";
511
+ science: "science";
512
+ languages: "languages";
513
+ spoken_english: "spoken_english";
514
+ tutoring: "tutoring";
515
+ study_abroad: "study_abroad";
516
+ football: "football";
517
+ badminton: "badminton";
518
+ tennis: "tennis";
519
+ kabaddi: "kabaddi";
520
+ hockey: "hockey";
521
+ chess: "chess";
522
+ swimming: "swimming";
523
+ marathon: "marathon";
524
+ street_food: "street_food";
525
+ home_cooking: "home_cooking";
526
+ vegetarian: "vegetarian";
527
+ vegan: "vegan";
528
+ jain_food: "jain_food";
529
+ fasting_recipes: "fasting_recipes";
530
+ north_indian: "north_indian";
531
+ south_indian: "south_indian";
532
+ baking: "baking";
533
+ desserts: "desserts";
534
+ classical_music: "classical_music";
535
+ hindustani: "hindustani";
536
+ carnatic: "carnatic";
537
+ bhajan: "bhajan";
538
+ kirtan: "kirtan";
539
+ bollywood: "bollywood";
540
+ dance_classical: "dance_classical";
541
+ dance_folk: "dance_folk";
542
+ painting: "painting";
543
+ craft: "craft";
544
+ satsang: "satsang";
545
+ festivals: "festivals";
546
+ pilgrimage: "pilgrimage";
547
+ startup: "startup";
548
+ small_business: "small_business";
549
+ freelancing: "freelancing";
550
+ real_estate: "real_estate";
551
+ stocks_investing: "stocks_investing";
552
+ mutual_funds: "mutual_funds";
553
+ handicrafts: "handicrafts";
554
+ job_postings: "job_postings";
555
+ web_development: "web_development";
556
+ water_supply: "water_supply";
557
+ electricity: "electricity";
558
+ road_repair: "road_repair";
559
+ garbage_collection: "garbage_collection";
560
+ drainage: "drainage";
561
+ public_transport: "public_transport";
562
+ traffic: "traffic";
563
+ parking: "parking";
564
+ local_healthcare: "local_healthcare";
565
+ movies: "movies";
566
+ tv_shows: "tv_shows";
567
+ books_club: "books_club";
568
+ trekking: "trekking";
569
+ parenting: "parenting";
570
+ }>>;
571
+ mature: z.ZodBoolean;
572
+ areaLineage: z.ZodNullable<z.ZodObject<{
573
+ countryId: z.ZodOptional<z.ZodString>;
574
+ stateId: z.ZodOptional<z.ZodString>;
575
+ districtId: z.ZodOptional<z.ZodString>;
576
+ localId: z.ZodOptional<z.ZodString>;
577
+ localName: z.ZodOptional<z.ZodString>;
578
+ }, z.core.$strip>>;
579
+ centerCoords: z.ZodNullable<z.ZodObject<{
580
+ lat: z.ZodNumber;
581
+ lng: z.ZodNumber;
582
+ }, z.core.$strip>>;
583
+ verifiedAt: z.ZodNullable<z.ZodString>;
584
+ verifiedBy: z.ZodNullable<z.ZodString>;
585
+ verifiedScope: z.ZodNullable<z.ZodEnum<{
586
+ state: "state";
587
+ national: "national";
588
+ global: "global";
589
+ }>>;
87
590
  viewer: z.ZodOptional<z.ZodObject<{
88
591
  role: z.ZodNullable<z.ZodEnum<{
89
592
  owner: "owner";
@@ -95,6 +598,31 @@ export declare const communityWireSchema: z.ZodObject<{
95
598
  active: "active";
96
599
  }>>;
97
600
  joinedAt: z.ZodNullable<z.ZodString>;
601
+ designation: z.ZodNullable<z.ZodObject<{
602
+ preset: z.ZodNullable<z.ZodEnum<{
603
+ volunteer: "volunteer";
604
+ chairman: "chairman";
605
+ vice_chairman: "vice_chairman";
606
+ president: "president";
607
+ vice_president: "vice_president";
608
+ secretary: "secretary";
609
+ joint_secretary: "joint_secretary";
610
+ general_secretary: "general_secretary";
611
+ treasurer: "treasurer";
612
+ joint_treasurer: "joint_treasurer";
613
+ organizer: "organizer";
614
+ coordinator: "coordinator";
615
+ spokesperson: "spokesperson";
616
+ founder: "founder";
617
+ co_founder: "co_founder";
618
+ patron: "patron";
619
+ advisor: "advisor";
620
+ mentor: "mentor";
621
+ committee_member: "committee_member";
622
+ member_at_large: "member_at_large";
623
+ }>>;
624
+ custom: z.ZodNullable<z.ZodString>;
625
+ }, z.core.$strip>>;
98
626
  }, z.core.$strip>>;
99
627
  }, z.core.$strip>;
100
628
  export type CommunityWire = z.infer<typeof communityWireSchema>;
@@ -113,6 +641,31 @@ export declare const communityMemberWireSchema: z.ZodObject<{
113
641
  active: "active";
114
642
  }>;
115
643
  joinedAt: z.ZodString;
644
+ designation: z.ZodNullable<z.ZodObject<{
645
+ preset: z.ZodNullable<z.ZodEnum<{
646
+ volunteer: "volunteer";
647
+ chairman: "chairman";
648
+ vice_chairman: "vice_chairman";
649
+ president: "president";
650
+ vice_president: "vice_president";
651
+ secretary: "secretary";
652
+ joint_secretary: "joint_secretary";
653
+ general_secretary: "general_secretary";
654
+ treasurer: "treasurer";
655
+ joint_treasurer: "joint_treasurer";
656
+ organizer: "organizer";
657
+ coordinator: "coordinator";
658
+ spokesperson: "spokesperson";
659
+ founder: "founder";
660
+ co_founder: "co_founder";
661
+ patron: "patron";
662
+ advisor: "advisor";
663
+ mentor: "mentor";
664
+ committee_member: "committee_member";
665
+ member_at_large: "member_at_large";
666
+ }>>;
667
+ custom: z.ZodNullable<z.ZodString>;
668
+ }, z.core.$strip>>;
116
669
  }, z.core.$strip>;
117
670
  export type CommunityMemberWire = z.infer<typeof communityMemberWireSchema>;
118
671
  /**
@@ -120,6 +673,11 @@ export type CommunityMemberWire = z.infer<typeof communityMemberWireSchema>;
120
673
  * backend auto-generates one from the name (lowercased, hyphenated,
121
674
  * collision-suffixed). When provided it must match the slug pattern
122
675
  * and be unique.
676
+ *
677
+ * `areaId` is required when `reach !== 'global'` — it's the deepest-
678
+ * matching area-entity id (`localId` for neighborhood, `districtId`
679
+ * for city, etc.) the creator picked from the area picker. The
680
+ * backend resolves the full `areaLineage` snapshot from this id.
123
681
  */
124
682
  export declare const createCommunityBodySchema: z.ZodObject<{
125
683
  name: z.ZodString;
@@ -128,22 +686,355 @@ export declare const createCommunityBodySchema: z.ZodObject<{
128
686
  type: z.ZodEnum<{
129
687
  public: "public";
130
688
  private: "private";
689
+ restricted: "restricted";
131
690
  }>;
132
691
  coverImageUrl: z.ZodOptional<z.ZodString>;
692
+ category: z.ZodEnum<{
693
+ other: "other";
694
+ womens_group: "womens_group";
695
+ mens_group: "mens_group";
696
+ youth_group: "youth_group";
697
+ senior_citizens: "senior_citizens";
698
+ parenting_children: "parenting_children";
699
+ resident_welfare: "resident_welfare";
700
+ social_welfare: "social_welfare";
701
+ social_awareness: "social_awareness";
702
+ volunteering: "volunteering";
703
+ civic_reform: "civic_reform";
704
+ local_news_issues: "local_news_issues";
705
+ environment: "environment";
706
+ religion_spirituality: "religion_spirituality";
707
+ festivals_culture: "festivals_culture";
708
+ devotional: "devotional";
709
+ education: "education";
710
+ competitive_exams: "competitive_exams";
711
+ books_literature: "books_literature";
712
+ language_learning: "language_learning";
713
+ health_wellness: "health_wellness";
714
+ yoga_meditation: "yoga_meditation";
715
+ fitness: "fitness";
716
+ mental_health: "mental_health";
717
+ food_cooking: "food_cooking";
718
+ travel: "travel";
719
+ photography: "photography";
720
+ fashion_beauty: "fashion_beauty";
721
+ sports: "sports";
722
+ cricket: "cricket";
723
+ arts_crafts: "arts_crafts";
724
+ music: "music";
725
+ dance: "dance";
726
+ movies_tv: "movies_tv";
727
+ gaming: "gaming";
728
+ entertainment: "entertainment";
729
+ business_career: "business_career";
730
+ entrepreneurship: "entrepreneurship";
731
+ technology: "technology";
732
+ finance_investing: "finance_investing";
733
+ agriculture: "agriculture";
734
+ news_current_affairs: "news_current_affairs";
735
+ }>;
736
+ reach: z.ZodEnum<{
737
+ state: "state";
738
+ national: "national";
739
+ global: "global";
740
+ neighborhood: "neighborhood";
741
+ city: "city";
742
+ }>;
743
+ areaId: z.ZodOptional<z.ZodString>;
744
+ tags: z.ZodDefault<z.ZodArray<z.ZodEnum<{
745
+ environment: "environment";
746
+ fitness: "fitness";
747
+ mental_health: "mental_health";
748
+ photography: "photography";
749
+ cricket: "cricket";
750
+ entrepreneurship: "entrepreneurship";
751
+ agriculture: "agriculture";
752
+ volunteer: "volunteer";
753
+ donation_drive: "donation_drive";
754
+ blood_donation: "blood_donation";
755
+ anti_corruption: "anti_corruption";
756
+ women_safety: "women_safety";
757
+ child_safety: "child_safety";
758
+ senior_care: "senior_care";
759
+ disability_support: "disability_support";
760
+ lgbtq_support: "lgbtq_support";
761
+ cleanliness: "cleanliness";
762
+ plant_trees: "plant_trees";
763
+ waste_management: "waste_management";
764
+ legal_aid: "legal_aid";
765
+ rti: "rti";
766
+ voter_awareness: "voter_awareness";
767
+ government_schemes: "government_schemes";
768
+ ngo: "ngo";
769
+ charity: "charity";
770
+ relief_work: "relief_work";
771
+ public_service: "public_service";
772
+ fundraising: "fundraising";
773
+ awareness_campaign: "awareness_campaign";
774
+ social_justice: "social_justice";
775
+ yoga: "yoga";
776
+ meditation: "meditation";
777
+ running: "running";
778
+ cycling: "cycling";
779
+ walking: "walking";
780
+ nutrition: "nutrition";
781
+ ayurveda: "ayurveda";
782
+ weight_loss: "weight_loss";
783
+ womens_health: "womens_health";
784
+ mens_health: "mens_health";
785
+ dental_health: "dental_health";
786
+ eye_care: "eye_care";
787
+ jee: "jee";
788
+ neet: "neet";
789
+ upsc: "upsc";
790
+ ssc: "ssc";
791
+ ielts: "ielts";
792
+ school_support: "school_support";
793
+ college_support: "college_support";
794
+ scholarship: "scholarship";
795
+ career_guidance: "career_guidance";
796
+ coding: "coding";
797
+ mathematics: "mathematics";
798
+ science: "science";
799
+ languages: "languages";
800
+ spoken_english: "spoken_english";
801
+ tutoring: "tutoring";
802
+ study_abroad: "study_abroad";
803
+ football: "football";
804
+ badminton: "badminton";
805
+ tennis: "tennis";
806
+ kabaddi: "kabaddi";
807
+ hockey: "hockey";
808
+ chess: "chess";
809
+ swimming: "swimming";
810
+ marathon: "marathon";
811
+ street_food: "street_food";
812
+ home_cooking: "home_cooking";
813
+ vegetarian: "vegetarian";
814
+ vegan: "vegan";
815
+ jain_food: "jain_food";
816
+ fasting_recipes: "fasting_recipes";
817
+ north_indian: "north_indian";
818
+ south_indian: "south_indian";
819
+ baking: "baking";
820
+ desserts: "desserts";
821
+ classical_music: "classical_music";
822
+ hindustani: "hindustani";
823
+ carnatic: "carnatic";
824
+ bhajan: "bhajan";
825
+ kirtan: "kirtan";
826
+ bollywood: "bollywood";
827
+ dance_classical: "dance_classical";
828
+ dance_folk: "dance_folk";
829
+ painting: "painting";
830
+ craft: "craft";
831
+ satsang: "satsang";
832
+ festivals: "festivals";
833
+ pilgrimage: "pilgrimage";
834
+ startup: "startup";
835
+ small_business: "small_business";
836
+ freelancing: "freelancing";
837
+ real_estate: "real_estate";
838
+ stocks_investing: "stocks_investing";
839
+ mutual_funds: "mutual_funds";
840
+ handicrafts: "handicrafts";
841
+ job_postings: "job_postings";
842
+ web_development: "web_development";
843
+ water_supply: "water_supply";
844
+ electricity: "electricity";
845
+ road_repair: "road_repair";
846
+ garbage_collection: "garbage_collection";
847
+ drainage: "drainage";
848
+ public_transport: "public_transport";
849
+ traffic: "traffic";
850
+ parking: "parking";
851
+ local_healthcare: "local_healthcare";
852
+ movies: "movies";
853
+ tv_shows: "tv_shows";
854
+ books_club: "books_club";
855
+ trekking: "trekking";
856
+ parenting: "parenting";
857
+ }>>>;
858
+ mature: z.ZodDefault<z.ZodBoolean>;
133
859
  }, z.core.$strip>;
134
860
  export type CreateCommunityBody = z.infer<typeof createCommunityBodySchema>;
135
861
  /**
136
862
  * `PATCH /communities/:slug` body. All fields optional. Sending
137
863
  * `null` for `description` or `coverImageUrl` clears that field.
138
- * Type changes (`public ↔ private`) are NOT supported in v1 — the
139
- * decision has implications for already-published posts and pending
140
- * join requests that we don't want to silently handle. Recreate the
141
- * community if you need to switch type.
864
+ *
865
+ * Type changes between `public` / `restricted` / `private` are NOT
866
+ * supported in v1 the decision has implications for already-
867
+ * published posts and pending join requests that we don't want to
868
+ * silently handle. Recreate the community if you need to switch.
869
+ *
870
+ * `category`, `tags`, `mature` are editable post-create. `reach` and
871
+ * `areaLineage` / `centerCoords` are NOT editable — moving a community
872
+ * across geographic scopes would silently invalidate every existing
873
+ * member's relationship with it.
142
874
  */
143
875
  export declare const updateCommunityBodySchema: z.ZodObject<{
144
876
  name: z.ZodOptional<z.ZodString>;
145
877
  description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
146
878
  coverImageUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
879
+ category: z.ZodOptional<z.ZodEnum<{
880
+ other: "other";
881
+ womens_group: "womens_group";
882
+ mens_group: "mens_group";
883
+ youth_group: "youth_group";
884
+ senior_citizens: "senior_citizens";
885
+ parenting_children: "parenting_children";
886
+ resident_welfare: "resident_welfare";
887
+ social_welfare: "social_welfare";
888
+ social_awareness: "social_awareness";
889
+ volunteering: "volunteering";
890
+ civic_reform: "civic_reform";
891
+ local_news_issues: "local_news_issues";
892
+ environment: "environment";
893
+ religion_spirituality: "religion_spirituality";
894
+ festivals_culture: "festivals_culture";
895
+ devotional: "devotional";
896
+ education: "education";
897
+ competitive_exams: "competitive_exams";
898
+ books_literature: "books_literature";
899
+ language_learning: "language_learning";
900
+ health_wellness: "health_wellness";
901
+ yoga_meditation: "yoga_meditation";
902
+ fitness: "fitness";
903
+ mental_health: "mental_health";
904
+ food_cooking: "food_cooking";
905
+ travel: "travel";
906
+ photography: "photography";
907
+ fashion_beauty: "fashion_beauty";
908
+ sports: "sports";
909
+ cricket: "cricket";
910
+ arts_crafts: "arts_crafts";
911
+ music: "music";
912
+ dance: "dance";
913
+ movies_tv: "movies_tv";
914
+ gaming: "gaming";
915
+ entertainment: "entertainment";
916
+ business_career: "business_career";
917
+ entrepreneurship: "entrepreneurship";
918
+ technology: "technology";
919
+ finance_investing: "finance_investing";
920
+ agriculture: "agriculture";
921
+ news_current_affairs: "news_current_affairs";
922
+ }>>;
923
+ tags: z.ZodOptional<z.ZodArray<z.ZodEnum<{
924
+ environment: "environment";
925
+ fitness: "fitness";
926
+ mental_health: "mental_health";
927
+ photography: "photography";
928
+ cricket: "cricket";
929
+ entrepreneurship: "entrepreneurship";
930
+ agriculture: "agriculture";
931
+ volunteer: "volunteer";
932
+ donation_drive: "donation_drive";
933
+ blood_donation: "blood_donation";
934
+ anti_corruption: "anti_corruption";
935
+ women_safety: "women_safety";
936
+ child_safety: "child_safety";
937
+ senior_care: "senior_care";
938
+ disability_support: "disability_support";
939
+ lgbtq_support: "lgbtq_support";
940
+ cleanliness: "cleanliness";
941
+ plant_trees: "plant_trees";
942
+ waste_management: "waste_management";
943
+ legal_aid: "legal_aid";
944
+ rti: "rti";
945
+ voter_awareness: "voter_awareness";
946
+ government_schemes: "government_schemes";
947
+ ngo: "ngo";
948
+ charity: "charity";
949
+ relief_work: "relief_work";
950
+ public_service: "public_service";
951
+ fundraising: "fundraising";
952
+ awareness_campaign: "awareness_campaign";
953
+ social_justice: "social_justice";
954
+ yoga: "yoga";
955
+ meditation: "meditation";
956
+ running: "running";
957
+ cycling: "cycling";
958
+ walking: "walking";
959
+ nutrition: "nutrition";
960
+ ayurveda: "ayurveda";
961
+ weight_loss: "weight_loss";
962
+ womens_health: "womens_health";
963
+ mens_health: "mens_health";
964
+ dental_health: "dental_health";
965
+ eye_care: "eye_care";
966
+ jee: "jee";
967
+ neet: "neet";
968
+ upsc: "upsc";
969
+ ssc: "ssc";
970
+ ielts: "ielts";
971
+ school_support: "school_support";
972
+ college_support: "college_support";
973
+ scholarship: "scholarship";
974
+ career_guidance: "career_guidance";
975
+ coding: "coding";
976
+ mathematics: "mathematics";
977
+ science: "science";
978
+ languages: "languages";
979
+ spoken_english: "spoken_english";
980
+ tutoring: "tutoring";
981
+ study_abroad: "study_abroad";
982
+ football: "football";
983
+ badminton: "badminton";
984
+ tennis: "tennis";
985
+ kabaddi: "kabaddi";
986
+ hockey: "hockey";
987
+ chess: "chess";
988
+ swimming: "swimming";
989
+ marathon: "marathon";
990
+ street_food: "street_food";
991
+ home_cooking: "home_cooking";
992
+ vegetarian: "vegetarian";
993
+ vegan: "vegan";
994
+ jain_food: "jain_food";
995
+ fasting_recipes: "fasting_recipes";
996
+ north_indian: "north_indian";
997
+ south_indian: "south_indian";
998
+ baking: "baking";
999
+ desserts: "desserts";
1000
+ classical_music: "classical_music";
1001
+ hindustani: "hindustani";
1002
+ carnatic: "carnatic";
1003
+ bhajan: "bhajan";
1004
+ kirtan: "kirtan";
1005
+ bollywood: "bollywood";
1006
+ dance_classical: "dance_classical";
1007
+ dance_folk: "dance_folk";
1008
+ painting: "painting";
1009
+ craft: "craft";
1010
+ satsang: "satsang";
1011
+ festivals: "festivals";
1012
+ pilgrimage: "pilgrimage";
1013
+ startup: "startup";
1014
+ small_business: "small_business";
1015
+ freelancing: "freelancing";
1016
+ real_estate: "real_estate";
1017
+ stocks_investing: "stocks_investing";
1018
+ mutual_funds: "mutual_funds";
1019
+ handicrafts: "handicrafts";
1020
+ job_postings: "job_postings";
1021
+ web_development: "web_development";
1022
+ water_supply: "water_supply";
1023
+ electricity: "electricity";
1024
+ road_repair: "road_repair";
1025
+ garbage_collection: "garbage_collection";
1026
+ drainage: "drainage";
1027
+ public_transport: "public_transport";
1028
+ traffic: "traffic";
1029
+ parking: "parking";
1030
+ local_healthcare: "local_healthcare";
1031
+ movies: "movies";
1032
+ tv_shows: "tv_shows";
1033
+ books_club: "books_club";
1034
+ trekking: "trekking";
1035
+ parenting: "parenting";
1036
+ }>>>;
1037
+ mature: z.ZodOptional<z.ZodBoolean>;
147
1038
  }, z.core.$strip>;
148
1039
  export type UpdateCommunityBody = z.infer<typeof updateCommunityBodySchema>;
149
1040
  /** Sort order on the discover page. `popular` ranks by active member
@@ -165,6 +1056,61 @@ export declare const communityListQuerySchema: z.ZodObject<{
165
1056
  q: z.ZodOptional<z.ZodString>;
166
1057
  cursor: z.ZodOptional<z.ZodString>;
167
1058
  pageSize: z.ZodOptional<z.ZodNumber>;
1059
+ category: z.ZodOptional<z.ZodEnum<{
1060
+ other: "other";
1061
+ womens_group: "womens_group";
1062
+ mens_group: "mens_group";
1063
+ youth_group: "youth_group";
1064
+ senior_citizens: "senior_citizens";
1065
+ parenting_children: "parenting_children";
1066
+ resident_welfare: "resident_welfare";
1067
+ social_welfare: "social_welfare";
1068
+ social_awareness: "social_awareness";
1069
+ volunteering: "volunteering";
1070
+ civic_reform: "civic_reform";
1071
+ local_news_issues: "local_news_issues";
1072
+ environment: "environment";
1073
+ religion_spirituality: "religion_spirituality";
1074
+ festivals_culture: "festivals_culture";
1075
+ devotional: "devotional";
1076
+ education: "education";
1077
+ competitive_exams: "competitive_exams";
1078
+ books_literature: "books_literature";
1079
+ language_learning: "language_learning";
1080
+ health_wellness: "health_wellness";
1081
+ yoga_meditation: "yoga_meditation";
1082
+ fitness: "fitness";
1083
+ mental_health: "mental_health";
1084
+ food_cooking: "food_cooking";
1085
+ travel: "travel";
1086
+ photography: "photography";
1087
+ fashion_beauty: "fashion_beauty";
1088
+ sports: "sports";
1089
+ cricket: "cricket";
1090
+ arts_crafts: "arts_crafts";
1091
+ music: "music";
1092
+ dance: "dance";
1093
+ movies_tv: "movies_tv";
1094
+ gaming: "gaming";
1095
+ entertainment: "entertainment";
1096
+ business_career: "business_career";
1097
+ entrepreneurship: "entrepreneurship";
1098
+ technology: "technology";
1099
+ finance_investing: "finance_investing";
1100
+ agriculture: "agriculture";
1101
+ news_current_affairs: "news_current_affairs";
1102
+ }>>;
1103
+ reach: z.ZodOptional<z.ZodEnum<{
1104
+ state: "state";
1105
+ national: "national";
1106
+ global: "global";
1107
+ neighborhood: "neighborhood";
1108
+ city: "city";
1109
+ }>>;
1110
+ verified: z.ZodOptional<z.ZodBoolean>;
1111
+ nearMe: z.ZodOptional<z.ZodBoolean>;
1112
+ lat: z.ZodOptional<z.ZodNumber>;
1113
+ lng: z.ZodOptional<z.ZodNumber>;
168
1114
  }, z.core.$strip>;
169
1115
  export type CommunityListQuery = z.infer<typeof communityListQuerySchema>;
170
1116
  export declare const communityListResponseSchema: z.ZodObject<{
@@ -176,6 +1122,7 @@ export declare const communityListResponseSchema: z.ZodObject<{
176
1122
  type: z.ZodEnum<{
177
1123
  public: "public";
178
1124
  private: "private";
1125
+ restricted: "restricted";
179
1126
  }>;
180
1127
  coverImageUrl: z.ZodOptional<z.ZodString>;
181
1128
  ownerUserId: z.ZodString;
@@ -183,6 +1130,190 @@ export declare const communityListResponseSchema: z.ZodObject<{
183
1130
  postCount: z.ZodNumber;
184
1131
  groupId: z.ZodString;
185
1132
  createdAt: z.ZodString;
1133
+ category: z.ZodEnum<{
1134
+ other: "other";
1135
+ womens_group: "womens_group";
1136
+ mens_group: "mens_group";
1137
+ youth_group: "youth_group";
1138
+ senior_citizens: "senior_citizens";
1139
+ parenting_children: "parenting_children";
1140
+ resident_welfare: "resident_welfare";
1141
+ social_welfare: "social_welfare";
1142
+ social_awareness: "social_awareness";
1143
+ volunteering: "volunteering";
1144
+ civic_reform: "civic_reform";
1145
+ local_news_issues: "local_news_issues";
1146
+ environment: "environment";
1147
+ religion_spirituality: "religion_spirituality";
1148
+ festivals_culture: "festivals_culture";
1149
+ devotional: "devotional";
1150
+ education: "education";
1151
+ competitive_exams: "competitive_exams";
1152
+ books_literature: "books_literature";
1153
+ language_learning: "language_learning";
1154
+ health_wellness: "health_wellness";
1155
+ yoga_meditation: "yoga_meditation";
1156
+ fitness: "fitness";
1157
+ mental_health: "mental_health";
1158
+ food_cooking: "food_cooking";
1159
+ travel: "travel";
1160
+ photography: "photography";
1161
+ fashion_beauty: "fashion_beauty";
1162
+ sports: "sports";
1163
+ cricket: "cricket";
1164
+ arts_crafts: "arts_crafts";
1165
+ music: "music";
1166
+ dance: "dance";
1167
+ movies_tv: "movies_tv";
1168
+ gaming: "gaming";
1169
+ entertainment: "entertainment";
1170
+ business_career: "business_career";
1171
+ entrepreneurship: "entrepreneurship";
1172
+ technology: "technology";
1173
+ finance_investing: "finance_investing";
1174
+ agriculture: "agriculture";
1175
+ news_current_affairs: "news_current_affairs";
1176
+ }>;
1177
+ reach: z.ZodEnum<{
1178
+ state: "state";
1179
+ national: "national";
1180
+ global: "global";
1181
+ neighborhood: "neighborhood";
1182
+ city: "city";
1183
+ }>;
1184
+ tags: z.ZodArray<z.ZodEnum<{
1185
+ environment: "environment";
1186
+ fitness: "fitness";
1187
+ mental_health: "mental_health";
1188
+ photography: "photography";
1189
+ cricket: "cricket";
1190
+ entrepreneurship: "entrepreneurship";
1191
+ agriculture: "agriculture";
1192
+ volunteer: "volunteer";
1193
+ donation_drive: "donation_drive";
1194
+ blood_donation: "blood_donation";
1195
+ anti_corruption: "anti_corruption";
1196
+ women_safety: "women_safety";
1197
+ child_safety: "child_safety";
1198
+ senior_care: "senior_care";
1199
+ disability_support: "disability_support";
1200
+ lgbtq_support: "lgbtq_support";
1201
+ cleanliness: "cleanliness";
1202
+ plant_trees: "plant_trees";
1203
+ waste_management: "waste_management";
1204
+ legal_aid: "legal_aid";
1205
+ rti: "rti";
1206
+ voter_awareness: "voter_awareness";
1207
+ government_schemes: "government_schemes";
1208
+ ngo: "ngo";
1209
+ charity: "charity";
1210
+ relief_work: "relief_work";
1211
+ public_service: "public_service";
1212
+ fundraising: "fundraising";
1213
+ awareness_campaign: "awareness_campaign";
1214
+ social_justice: "social_justice";
1215
+ yoga: "yoga";
1216
+ meditation: "meditation";
1217
+ running: "running";
1218
+ cycling: "cycling";
1219
+ walking: "walking";
1220
+ nutrition: "nutrition";
1221
+ ayurveda: "ayurveda";
1222
+ weight_loss: "weight_loss";
1223
+ womens_health: "womens_health";
1224
+ mens_health: "mens_health";
1225
+ dental_health: "dental_health";
1226
+ eye_care: "eye_care";
1227
+ jee: "jee";
1228
+ neet: "neet";
1229
+ upsc: "upsc";
1230
+ ssc: "ssc";
1231
+ ielts: "ielts";
1232
+ school_support: "school_support";
1233
+ college_support: "college_support";
1234
+ scholarship: "scholarship";
1235
+ career_guidance: "career_guidance";
1236
+ coding: "coding";
1237
+ mathematics: "mathematics";
1238
+ science: "science";
1239
+ languages: "languages";
1240
+ spoken_english: "spoken_english";
1241
+ tutoring: "tutoring";
1242
+ study_abroad: "study_abroad";
1243
+ football: "football";
1244
+ badminton: "badminton";
1245
+ tennis: "tennis";
1246
+ kabaddi: "kabaddi";
1247
+ hockey: "hockey";
1248
+ chess: "chess";
1249
+ swimming: "swimming";
1250
+ marathon: "marathon";
1251
+ street_food: "street_food";
1252
+ home_cooking: "home_cooking";
1253
+ vegetarian: "vegetarian";
1254
+ vegan: "vegan";
1255
+ jain_food: "jain_food";
1256
+ fasting_recipes: "fasting_recipes";
1257
+ north_indian: "north_indian";
1258
+ south_indian: "south_indian";
1259
+ baking: "baking";
1260
+ desserts: "desserts";
1261
+ classical_music: "classical_music";
1262
+ hindustani: "hindustani";
1263
+ carnatic: "carnatic";
1264
+ bhajan: "bhajan";
1265
+ kirtan: "kirtan";
1266
+ bollywood: "bollywood";
1267
+ dance_classical: "dance_classical";
1268
+ dance_folk: "dance_folk";
1269
+ painting: "painting";
1270
+ craft: "craft";
1271
+ satsang: "satsang";
1272
+ festivals: "festivals";
1273
+ pilgrimage: "pilgrimage";
1274
+ startup: "startup";
1275
+ small_business: "small_business";
1276
+ freelancing: "freelancing";
1277
+ real_estate: "real_estate";
1278
+ stocks_investing: "stocks_investing";
1279
+ mutual_funds: "mutual_funds";
1280
+ handicrafts: "handicrafts";
1281
+ job_postings: "job_postings";
1282
+ web_development: "web_development";
1283
+ water_supply: "water_supply";
1284
+ electricity: "electricity";
1285
+ road_repair: "road_repair";
1286
+ garbage_collection: "garbage_collection";
1287
+ drainage: "drainage";
1288
+ public_transport: "public_transport";
1289
+ traffic: "traffic";
1290
+ parking: "parking";
1291
+ local_healthcare: "local_healthcare";
1292
+ movies: "movies";
1293
+ tv_shows: "tv_shows";
1294
+ books_club: "books_club";
1295
+ trekking: "trekking";
1296
+ parenting: "parenting";
1297
+ }>>;
1298
+ mature: z.ZodBoolean;
1299
+ areaLineage: z.ZodNullable<z.ZodObject<{
1300
+ countryId: z.ZodOptional<z.ZodString>;
1301
+ stateId: z.ZodOptional<z.ZodString>;
1302
+ districtId: z.ZodOptional<z.ZodString>;
1303
+ localId: z.ZodOptional<z.ZodString>;
1304
+ localName: z.ZodOptional<z.ZodString>;
1305
+ }, z.core.$strip>>;
1306
+ centerCoords: z.ZodNullable<z.ZodObject<{
1307
+ lat: z.ZodNumber;
1308
+ lng: z.ZodNumber;
1309
+ }, z.core.$strip>>;
1310
+ verifiedAt: z.ZodNullable<z.ZodString>;
1311
+ verifiedBy: z.ZodNullable<z.ZodString>;
1312
+ verifiedScope: z.ZodNullable<z.ZodEnum<{
1313
+ state: "state";
1314
+ national: "national";
1315
+ global: "global";
1316
+ }>>;
186
1317
  viewer: z.ZodOptional<z.ZodObject<{
187
1318
  role: z.ZodNullable<z.ZodEnum<{
188
1319
  owner: "owner";
@@ -194,6 +1325,31 @@ export declare const communityListResponseSchema: z.ZodObject<{
194
1325
  active: "active";
195
1326
  }>>;
196
1327
  joinedAt: z.ZodNullable<z.ZodString>;
1328
+ designation: z.ZodNullable<z.ZodObject<{
1329
+ preset: z.ZodNullable<z.ZodEnum<{
1330
+ volunteer: "volunteer";
1331
+ chairman: "chairman";
1332
+ vice_chairman: "vice_chairman";
1333
+ president: "president";
1334
+ vice_president: "vice_president";
1335
+ secretary: "secretary";
1336
+ joint_secretary: "joint_secretary";
1337
+ general_secretary: "general_secretary";
1338
+ treasurer: "treasurer";
1339
+ joint_treasurer: "joint_treasurer";
1340
+ organizer: "organizer";
1341
+ coordinator: "coordinator";
1342
+ spokesperson: "spokesperson";
1343
+ founder: "founder";
1344
+ co_founder: "co_founder";
1345
+ patron: "patron";
1346
+ advisor: "advisor";
1347
+ mentor: "mentor";
1348
+ committee_member: "committee_member";
1349
+ member_at_large: "member_at_large";
1350
+ }>>;
1351
+ custom: z.ZodNullable<z.ZodString>;
1352
+ }, z.core.$strip>>;
197
1353
  }, z.core.$strip>>;
198
1354
  }, z.core.$strip>>;
199
1355
  nextCursor: z.ZodNullable<z.ZodString>;
@@ -237,6 +1393,31 @@ export declare const communityMembersListResponseSchema: z.ZodObject<{
237
1393
  active: "active";
238
1394
  }>;
239
1395
  joinedAt: z.ZodString;
1396
+ designation: z.ZodNullable<z.ZodObject<{
1397
+ preset: z.ZodNullable<z.ZodEnum<{
1398
+ volunteer: "volunteer";
1399
+ chairman: "chairman";
1400
+ vice_chairman: "vice_chairman";
1401
+ president: "president";
1402
+ vice_president: "vice_president";
1403
+ secretary: "secretary";
1404
+ joint_secretary: "joint_secretary";
1405
+ general_secretary: "general_secretary";
1406
+ treasurer: "treasurer";
1407
+ joint_treasurer: "joint_treasurer";
1408
+ organizer: "organizer";
1409
+ coordinator: "coordinator";
1410
+ spokesperson: "spokesperson";
1411
+ founder: "founder";
1412
+ co_founder: "co_founder";
1413
+ patron: "patron";
1414
+ advisor: "advisor";
1415
+ mentor: "mentor";
1416
+ committee_member: "committee_member";
1417
+ member_at_large: "member_at_large";
1418
+ }>>;
1419
+ custom: z.ZodNullable<z.ZodString>;
1420
+ }, z.core.$strip>>;
240
1421
  }, z.core.$strip>>;
241
1422
  nextCursor: z.ZodNullable<z.ZodString>;
242
1423
  }, z.core.$strip>;
@@ -252,4 +1433,105 @@ export declare const updateMemberRoleBodySchema: z.ZodObject<{
252
1433
  }>;
253
1434
  }, z.core.$strip>;
254
1435
  export type UpdateMemberRoleBody = z.infer<typeof updateMemberRoleBodySchema>;
1436
+ /**
1437
+ * Body for `PUT /communities/:slug/members/:userId/designation`.
1438
+ * Owner / admin only. Exactly one of `preset` / `custom` must be set.
1439
+ *
1440
+ * Use the preset list first (one-tap pick from `CommunityDesignationPreset`);
1441
+ * fall through to `custom` for niche labels ("Press & Media",
1442
+ * "Disaster Response Lead", etc.) that don't fit a preset.
1443
+ *
1444
+ * To clear an existing designation, use `DELETE` on the same path —
1445
+ * there's no "null" mode on this body.
1446
+ */
1447
+ export declare const setMemberDesignationBodySchema: z.ZodObject<{
1448
+ preset: z.ZodOptional<z.ZodEnum<{
1449
+ volunteer: "volunteer";
1450
+ chairman: "chairman";
1451
+ vice_chairman: "vice_chairman";
1452
+ president: "president";
1453
+ vice_president: "vice_president";
1454
+ secretary: "secretary";
1455
+ joint_secretary: "joint_secretary";
1456
+ general_secretary: "general_secretary";
1457
+ treasurer: "treasurer";
1458
+ joint_treasurer: "joint_treasurer";
1459
+ organizer: "organizer";
1460
+ coordinator: "coordinator";
1461
+ spokesperson: "spokesperson";
1462
+ founder: "founder";
1463
+ co_founder: "co_founder";
1464
+ patron: "patron";
1465
+ advisor: "advisor";
1466
+ mentor: "mentor";
1467
+ committee_member: "committee_member";
1468
+ member_at_large: "member_at_large";
1469
+ }>>;
1470
+ custom: z.ZodOptional<z.ZodString>;
1471
+ }, z.core.$strip>;
1472
+ export type SetMemberDesignationBody = z.infer<typeof setMemberDesignationBodySchema>;
1473
+ /**
1474
+ * Body for `POST /communities/:slug/verify`. Empty for now; the
1475
+ * verifier's scope (`state | national | global`) is derived from the
1476
+ * caller's leader role rather than supplied. Keeping a body object
1477
+ * leaves room for a `note` field later without a breaking change.
1478
+ */
1479
+ export declare const verifyCommunityBodySchema: z.ZodObject<{
1480
+ note: z.ZodOptional<z.ZodString>;
1481
+ }, z.core.$strip>;
1482
+ export type VerifyCommunityBody = z.infer<typeof verifyCommunityBodySchema>;
1483
+ /**
1484
+ * `GET /areas?level=...&parentId=...&q=...` — backs the area picker
1485
+ * inside the create-community wizard's step 3. Returns areas at the
1486
+ * specified `level` that sit under the given parent area:
1487
+ *
1488
+ * level=local → returns localities under a `districtId` parent.
1489
+ * level=district → returns districts under a `stateId` parent.
1490
+ * level=state → returns states under a `countryId` parent.
1491
+ *
1492
+ * The picker constrains the user to siblings under their own parent
1493
+ * area (so a Maharashtra creator can pick any locality in Maharashtra
1494
+ * for a neighborhood community, but not one in Tamil Nadu).
1495
+ */
1496
+ export declare const AREA_PICKER_LEVEL_VALUES: readonly ["local", "district", "state"];
1497
+ export type AreaPickerLevel = (typeof AREA_PICKER_LEVEL_VALUES)[number];
1498
+ export declare const areaPickerLevelSchema: z.ZodEnum<{
1499
+ local: "local";
1500
+ district: "district";
1501
+ state: "state";
1502
+ }>;
1503
+ export declare const areaPickerQuerySchema: z.ZodObject<{
1504
+ level: z.ZodEnum<{
1505
+ local: "local";
1506
+ district: "district";
1507
+ state: "state";
1508
+ }>;
1509
+ parentId: z.ZodString;
1510
+ q: z.ZodOptional<z.ZodString>;
1511
+ }, z.core.$strip>;
1512
+ export type AreaPickerQuery = z.infer<typeof areaPickerQuerySchema>;
1513
+ export declare const areaPickerItemSchema: z.ZodObject<{
1514
+ _id: z.ZodString;
1515
+ name: z.ZodString;
1516
+ level: z.ZodEnum<{
1517
+ local: "local";
1518
+ district: "district";
1519
+ state: "state";
1520
+ }>;
1521
+ parentId: z.ZodString;
1522
+ }, z.core.$strip>;
1523
+ export type AreaPickerItem = z.infer<typeof areaPickerItemSchema>;
1524
+ export declare const areaPickerResponseSchema: z.ZodObject<{
1525
+ items: z.ZodArray<z.ZodObject<{
1526
+ _id: z.ZodString;
1527
+ name: z.ZodString;
1528
+ level: z.ZodEnum<{
1529
+ local: "local";
1530
+ district: "district";
1531
+ state: "state";
1532
+ }>;
1533
+ parentId: z.ZodString;
1534
+ }, z.core.$strip>>;
1535
+ }, z.core.$strip>;
1536
+ export type AreaPickerResponse = z.infer<typeof areaPickerResponseSchema>;
255
1537
  //# sourceMappingURL=community.d.ts.map