@thejob/schema 2.1.6 → 2.1.8

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.
package/dist/index.d.ts CHANGED
@@ -1257,6 +1257,411 @@ declare const PageSchema: yup.ObjectSchema<NonNullable<{
1257
1257
  updatedAt: undefined;
1258
1258
  }, "">;
1259
1259
 
1260
+ declare enum CampaignStatus {
1261
+ Draft = "draft",
1262
+ Sending = "sending",
1263
+ Sent = "sent",
1264
+ Failed = "failed"
1265
+ }
1266
+ declare const SupportedCampaignStatuses: CampaignStatus[];
1267
+ /**
1268
+ * How a campaign decides when to send.
1269
+ *
1270
+ * The two scheduled kinds dedupe differently, and that difference is the reason
1271
+ * they are separate kinds rather than one kind with a flag:
1272
+ *
1273
+ * • `Schedule` fires on a wall clock. Every occurrence is a shared moment, so
1274
+ * its identity is the occurrence itself and a recipient may legitimately be
1275
+ * mailed again next occurrence.
1276
+ * • `Lifecycle` fires relative to each user's own anchor date (signup, …), so
1277
+ * there is no shared moment. Identity is the user, permanently: a lifecycle
1278
+ * campaign mails a given person at most once, ever.
1279
+ */
1280
+ declare enum CampaignTriggerKind {
1281
+ /** Admin presses send. Also the dry-run test path. */
1282
+ Manual = "manual",
1283
+ /** One send, at one future instant. */
1284
+ Once = "once",
1285
+ /** Repeats on a wall-clock schedule until its end condition. */
1286
+ Schedule = "schedule",
1287
+ /** Fires per user, N days after that user's anchor date. Once per user ever. */
1288
+ Lifecycle = "lifecycle"
1289
+ }
1290
+ declare const SupportedCampaignTriggerKinds: CampaignTriggerKind[];
1291
+ /** Repeat unit for a `schedule` trigger. */
1292
+ declare enum CampaignIntervalUnit {
1293
+ Day = "day",
1294
+ Week = "week",
1295
+ Month = "month"
1296
+ }
1297
+ declare const SupportedCampaignIntervalUnits: CampaignIntervalUnit[];
1298
+ /** How a repeating campaign stops. `Never` runs until disabled. */
1299
+ declare enum CampaignEndKind {
1300
+ Never = "never",
1301
+ AfterOccurrences = "afterOccurrences",
1302
+ OnDate = "onDate"
1303
+ }
1304
+ declare const SupportedCampaignEndKinds: CampaignEndKind[];
1305
+ /**
1306
+ * The user-document date a `lifecycle` trigger counts its offset from. A closed
1307
+ * list because each value must be a real, indexed, immutable-enough date on the
1308
+ * user: an anchor that moves would re-fire the campaign for someone already
1309
+ * mailed, which the permanent idempotency key would then silently suppress.
1310
+ */
1311
+ declare enum CampaignAnchorField {
1312
+ CreatedAt = "createdAt",
1313
+ OnboardingCompletedAt = "onboardingCompletedAt",
1314
+ MarketingConsentUpdatedAt = "marketingConsent.updatedAt"
1315
+ }
1316
+ declare const SupportedCampaignAnchorFields: CampaignAnchorField[];
1317
+ /**
1318
+ * Where a single template variable's value comes from. The admin picks one per
1319
+ * variable the chosen template declares.
1320
+ *
1321
+ * Whether a campaign is *personalised* is derived from these, not stored: it is
1322
+ * personalised iff any binding is `Recipient` or `Source`. A stored flag could
1323
+ * disagree with the bindings it describes.
1324
+ */
1325
+ declare enum BindingKind {
1326
+ /** A literal typed by the admin. Same for everyone. */
1327
+ Static = "static",
1328
+ /** A field of the resolved recipient, e.g. `name`. */
1329
+ Recipient = "recipient",
1330
+ /** A URL, UTM-tagged at send time. */
1331
+ Url = "url",
1332
+ /** A field of the campaign's data source output, e.g. `matchedJobs`. */
1333
+ Source = "source"
1334
+ }
1335
+ declare const SupportedBindingKinds: BindingKind[];
1336
+ /** Lifecycle of one materialised occurrence of a scheduled campaign. */
1337
+ declare enum OccurrenceStatus {
1338
+ Pending = "pending",
1339
+ Running = "running",
1340
+ Sent = "sent",
1341
+ Skipped = "skipped",
1342
+ Failed = "failed"
1343
+ }
1344
+ declare const SupportedOccurrenceStatuses: OccurrenceStatus[];
1345
+ /**
1346
+ * Hard ceiling on recipients per scheduled/lifecycle send, enforced in code and
1347
+ * not overridable by config. Distinct from the one-shot audience cap: a campaign
1348
+ * that repeats forever gets the tighter bound, because a misconfigured filter
1349
+ * that mails too many people does it again every occurrence.
1350
+ */
1351
+ declare const CAMPAIGN_MAX_RECIPIENTS_CEILING = 5000;
1352
+
1353
+ /**
1354
+ * Every clause except `or`. Declared separately so `ListFilterSchema` can embed
1355
+ * it as its branch type without referring to itself: the union is deliberately
1356
+ * one level deep, and a non-recursive definition is what enforces that.
1357
+ */
1358
+ declare const ListFilterBranchSchema: yup.ObjectSchema<{
1359
+ countries: string[];
1360
+ roles: string[];
1361
+ experienceLevels: string[];
1362
+ targetExperienceLevels: string[];
1363
+ jobSearchUrgencies: string[];
1364
+ referralSources: string[];
1365
+ statuses: string[];
1366
+ profileVisibilities: string[];
1367
+ skillProficiencyLevels: string[];
1368
+ languageProficiencyLevels: string[];
1369
+ studyTypes: string[];
1370
+ socialAccountTypes: string[];
1371
+ salaryCurrencies: string[];
1372
+ skills: string[];
1373
+ languages: string[];
1374
+ interests: string[];
1375
+ companies: string[];
1376
+ designations: string[];
1377
+ institutes: string[];
1378
+ courses: string[];
1379
+ fieldsOfStudy: string[];
1380
+ certifications: string[];
1381
+ certificationAuthorities: string[];
1382
+ projects: string[];
1383
+ jobRoles: string[];
1384
+ jobLocations: string[];
1385
+ hiringForCompanies: string[];
1386
+ coordinatesAtInstitutes: string[];
1387
+ keywords: string[];
1388
+ minSalaryFloor: number | undefined;
1389
+ minSalaryCeil: number | undefined;
1390
+ openToWorkOnly: boolean;
1391
+ remoteExperienceOnly: boolean;
1392
+ hasResumeOnly: boolean;
1393
+ onboardingCompletedOnly: boolean;
1394
+ emailVerifiedOnly: boolean;
1395
+ mobileVerifiedOnly: boolean;
1396
+ lastSeenBeforeDays: number | undefined;
1397
+ lastSeenAfterDays: number | undefined;
1398
+ createdAtWithinDays: number | undefined;
1399
+ createdAtOlderThanDays: number | undefined;
1400
+ completenessMin: number | undefined;
1401
+ completenessMax: number | undefined;
1402
+ lastSeenBefore: number | undefined;
1403
+ lastSeenAfter: number | undefined;
1404
+ createdAtFrom: number | undefined;
1405
+ createdAtBefore: number | undefined;
1406
+ states: string[];
1407
+ stateCodes: string[];
1408
+ cities: string[];
1409
+ withinRadius: {
1410
+ lat: number;
1411
+ lng: number;
1412
+ km: number;
1413
+ } | undefined;
1414
+ signupCountries: string[];
1415
+ signupLocales: string[];
1416
+ signupSources: string[];
1417
+ educationLevels: string[];
1418
+ jobAlertFrequencies: string[];
1419
+ consentSources: string[];
1420
+ consentUpdatedWithinDays: number | undefined;
1421
+ notificationChannelsEnabled: string[];
1422
+ currentlyEmployed: boolean;
1423
+ graduatedWithinMonths: number | undefined;
1424
+ skillUsedWithinMonths: number | undefined;
1425
+ hasImage: boolean;
1426
+ hasHeadline: boolean;
1427
+ hasAboutMe: boolean;
1428
+ hasMobile: boolean;
1429
+ missingSections: string[];
1430
+ companyTypes: string[];
1431
+ instituteTypes: string[];
1432
+ hasJobAlert: boolean | undefined;
1433
+ hasApplied: boolean | undefined;
1434
+ appliedWithinDays: number | undefined;
1435
+ search: string | undefined;
1436
+ }, yup.AnyObject, {
1437
+ countries: never[];
1438
+ roles: never[];
1439
+ experienceLevels: never[];
1440
+ targetExperienceLevels: never[];
1441
+ jobSearchUrgencies: never[];
1442
+ referralSources: never[];
1443
+ statuses: never[];
1444
+ profileVisibilities: never[];
1445
+ skillProficiencyLevels: never[];
1446
+ languageProficiencyLevels: never[];
1447
+ studyTypes: never[];
1448
+ socialAccountTypes: never[];
1449
+ salaryCurrencies: never[];
1450
+ skills: never[];
1451
+ languages: never[];
1452
+ interests: never[];
1453
+ companies: never[];
1454
+ designations: never[];
1455
+ institutes: never[];
1456
+ courses: never[];
1457
+ fieldsOfStudy: never[];
1458
+ certifications: never[];
1459
+ certificationAuthorities: never[];
1460
+ projects: never[];
1461
+ jobRoles: never[];
1462
+ jobLocations: never[];
1463
+ hiringForCompanies: never[];
1464
+ coordinatesAtInstitutes: never[];
1465
+ keywords: never[];
1466
+ minSalaryFloor: undefined;
1467
+ minSalaryCeil: undefined;
1468
+ openToWorkOnly: false;
1469
+ remoteExperienceOnly: false;
1470
+ hasResumeOnly: false;
1471
+ onboardingCompletedOnly: false;
1472
+ emailVerifiedOnly: false;
1473
+ mobileVerifiedOnly: false;
1474
+ lastSeenBeforeDays: undefined;
1475
+ lastSeenAfterDays: undefined;
1476
+ createdAtWithinDays: undefined;
1477
+ createdAtOlderThanDays: undefined;
1478
+ completenessMin: undefined;
1479
+ completenessMax: undefined;
1480
+ lastSeenBefore: undefined;
1481
+ lastSeenAfter: undefined;
1482
+ createdAtFrom: undefined;
1483
+ createdAtBefore: undefined;
1484
+ states: never[];
1485
+ stateCodes: never[];
1486
+ cities: never[];
1487
+ withinRadius: undefined;
1488
+ signupCountries: never[];
1489
+ signupLocales: never[];
1490
+ signupSources: never[];
1491
+ educationLevels: never[];
1492
+ jobAlertFrequencies: never[];
1493
+ consentSources: never[];
1494
+ consentUpdatedWithinDays: undefined;
1495
+ notificationChannelsEnabled: never[];
1496
+ currentlyEmployed: false;
1497
+ graduatedWithinMonths: undefined;
1498
+ skillUsedWithinMonths: undefined;
1499
+ hasImage: false;
1500
+ hasHeadline: false;
1501
+ hasAboutMe: false;
1502
+ hasMobile: false;
1503
+ missingSections: never[];
1504
+ companyTypes: never[];
1505
+ instituteTypes: never[];
1506
+ hasJobAlert: undefined;
1507
+ hasApplied: undefined;
1508
+ appliedWithinDays: undefined;
1509
+ search: undefined;
1510
+ }, "">;
1511
+ /** A branch of `or`: every clause except `or` itself, so unions cannot nest. */
1512
+ declare const ListFilterBranch: yup.ObjectSchema<{
1513
+ countries: string[];
1514
+ roles: string[];
1515
+ experienceLevels: string[];
1516
+ targetExperienceLevels: string[];
1517
+ jobSearchUrgencies: string[];
1518
+ referralSources: string[];
1519
+ statuses: string[];
1520
+ profileVisibilities: string[];
1521
+ skillProficiencyLevels: string[];
1522
+ languageProficiencyLevels: string[];
1523
+ studyTypes: string[];
1524
+ socialAccountTypes: string[];
1525
+ salaryCurrencies: string[];
1526
+ skills: string[];
1527
+ languages: string[];
1528
+ interests: string[];
1529
+ companies: string[];
1530
+ designations: string[];
1531
+ institutes: string[];
1532
+ courses: string[];
1533
+ fieldsOfStudy: string[];
1534
+ certifications: string[];
1535
+ certificationAuthorities: string[];
1536
+ projects: string[];
1537
+ jobRoles: string[];
1538
+ jobLocations: string[];
1539
+ hiringForCompanies: string[];
1540
+ coordinatesAtInstitutes: string[];
1541
+ keywords: string[];
1542
+ minSalaryFloor: number | undefined;
1543
+ minSalaryCeil: number | undefined;
1544
+ openToWorkOnly: boolean;
1545
+ remoteExperienceOnly: boolean;
1546
+ hasResumeOnly: boolean;
1547
+ onboardingCompletedOnly: boolean;
1548
+ emailVerifiedOnly: boolean;
1549
+ mobileVerifiedOnly: boolean;
1550
+ lastSeenBeforeDays: number | undefined;
1551
+ lastSeenAfterDays: number | undefined;
1552
+ createdAtWithinDays: number | undefined;
1553
+ createdAtOlderThanDays: number | undefined;
1554
+ completenessMin: number | undefined;
1555
+ completenessMax: number | undefined;
1556
+ lastSeenBefore: number | undefined;
1557
+ lastSeenAfter: number | undefined;
1558
+ createdAtFrom: number | undefined;
1559
+ createdAtBefore: number | undefined;
1560
+ states: string[];
1561
+ stateCodes: string[];
1562
+ cities: string[];
1563
+ withinRadius: {
1564
+ lat: number;
1565
+ lng: number;
1566
+ km: number;
1567
+ } | undefined;
1568
+ signupCountries: string[];
1569
+ signupLocales: string[];
1570
+ signupSources: string[];
1571
+ educationLevels: string[];
1572
+ jobAlertFrequencies: string[];
1573
+ consentSources: string[];
1574
+ consentUpdatedWithinDays: number | undefined;
1575
+ notificationChannelsEnabled: string[];
1576
+ currentlyEmployed: boolean;
1577
+ graduatedWithinMonths: number | undefined;
1578
+ skillUsedWithinMonths: number | undefined;
1579
+ hasImage: boolean;
1580
+ hasHeadline: boolean;
1581
+ hasAboutMe: boolean;
1582
+ hasMobile: boolean;
1583
+ missingSections: string[];
1584
+ companyTypes: string[];
1585
+ instituteTypes: string[];
1586
+ hasJobAlert: boolean | undefined;
1587
+ hasApplied: boolean | undefined;
1588
+ appliedWithinDays: number | undefined;
1589
+ search: string | undefined;
1590
+ }, yup.AnyObject, {
1591
+ countries: never[];
1592
+ roles: never[];
1593
+ experienceLevels: never[];
1594
+ targetExperienceLevels: never[];
1595
+ jobSearchUrgencies: never[];
1596
+ referralSources: never[];
1597
+ statuses: never[];
1598
+ profileVisibilities: never[];
1599
+ skillProficiencyLevels: never[];
1600
+ languageProficiencyLevels: never[];
1601
+ studyTypes: never[];
1602
+ socialAccountTypes: never[];
1603
+ salaryCurrencies: never[];
1604
+ skills: never[];
1605
+ languages: never[];
1606
+ interests: never[];
1607
+ companies: never[];
1608
+ designations: never[];
1609
+ institutes: never[];
1610
+ courses: never[];
1611
+ fieldsOfStudy: never[];
1612
+ certifications: never[];
1613
+ certificationAuthorities: never[];
1614
+ projects: never[];
1615
+ jobRoles: never[];
1616
+ jobLocations: never[];
1617
+ hiringForCompanies: never[];
1618
+ coordinatesAtInstitutes: never[];
1619
+ keywords: never[];
1620
+ minSalaryFloor: undefined;
1621
+ minSalaryCeil: undefined;
1622
+ openToWorkOnly: false;
1623
+ remoteExperienceOnly: false;
1624
+ hasResumeOnly: false;
1625
+ onboardingCompletedOnly: false;
1626
+ emailVerifiedOnly: false;
1627
+ mobileVerifiedOnly: false;
1628
+ lastSeenBeforeDays: undefined;
1629
+ lastSeenAfterDays: undefined;
1630
+ createdAtWithinDays: undefined;
1631
+ createdAtOlderThanDays: undefined;
1632
+ completenessMin: undefined;
1633
+ completenessMax: undefined;
1634
+ lastSeenBefore: undefined;
1635
+ lastSeenAfter: undefined;
1636
+ createdAtFrom: undefined;
1637
+ createdAtBefore: undefined;
1638
+ states: never[];
1639
+ stateCodes: never[];
1640
+ cities: never[];
1641
+ withinRadius: undefined;
1642
+ signupCountries: never[];
1643
+ signupLocales: never[];
1644
+ signupSources: never[];
1645
+ educationLevels: never[];
1646
+ jobAlertFrequencies: never[];
1647
+ consentSources: never[];
1648
+ consentUpdatedWithinDays: undefined;
1649
+ notificationChannelsEnabled: never[];
1650
+ currentlyEmployed: false;
1651
+ graduatedWithinMonths: undefined;
1652
+ skillUsedWithinMonths: undefined;
1653
+ hasImage: false;
1654
+ hasHeadline: false;
1655
+ hasAboutMe: false;
1656
+ hasMobile: false;
1657
+ missingSections: never[];
1658
+ companyTypes: never[];
1659
+ instituteTypes: never[];
1660
+ hasJobAlert: undefined;
1661
+ hasApplied: undefined;
1662
+ appliedWithinDays: undefined;
1663
+ search: undefined;
1664
+ }, "">;
1260
1665
  declare const ListFilterSchema: yup.ObjectSchema<{
1261
1666
  countries: string[];
1262
1667
  roles: string[];
@@ -1295,6 +1700,125 @@ declare const ListFilterSchema: yup.ObjectSchema<{
1295
1700
  onboardingCompletedOnly: boolean;
1296
1701
  emailVerifiedOnly: boolean;
1297
1702
  mobileVerifiedOnly: boolean;
1703
+ lastSeenBeforeDays: number | undefined;
1704
+ lastSeenAfterDays: number | undefined;
1705
+ createdAtWithinDays: number | undefined;
1706
+ createdAtOlderThanDays: number | undefined;
1707
+ completenessMin: number | undefined;
1708
+ completenessMax: number | undefined;
1709
+ lastSeenBefore: number | undefined;
1710
+ lastSeenAfter: number | undefined;
1711
+ createdAtFrom: number | undefined;
1712
+ createdAtBefore: number | undefined;
1713
+ states: string[];
1714
+ stateCodes: string[];
1715
+ cities: string[];
1716
+ withinRadius: {
1717
+ lat: number;
1718
+ lng: number;
1719
+ km: number;
1720
+ } | undefined;
1721
+ signupCountries: string[];
1722
+ signupLocales: string[];
1723
+ signupSources: string[];
1724
+ educationLevels: string[];
1725
+ jobAlertFrequencies: string[];
1726
+ consentSources: string[];
1727
+ consentUpdatedWithinDays: number | undefined;
1728
+ notificationChannelsEnabled: string[];
1729
+ currentlyEmployed: boolean;
1730
+ graduatedWithinMonths: number | undefined;
1731
+ skillUsedWithinMonths: number | undefined;
1732
+ hasImage: boolean;
1733
+ hasHeadline: boolean;
1734
+ hasAboutMe: boolean;
1735
+ hasMobile: boolean;
1736
+ missingSections: string[];
1737
+ companyTypes: string[];
1738
+ instituteTypes: string[];
1739
+ hasJobAlert: boolean | undefined;
1740
+ hasApplied: boolean | undefined;
1741
+ appliedWithinDays: number | undefined;
1742
+ search: string | undefined;
1743
+ or: {
1744
+ search?: string | undefined;
1745
+ hasApplied?: boolean | undefined;
1746
+ minSalaryFloor?: number | undefined;
1747
+ minSalaryCeil?: number | undefined;
1748
+ lastSeenBeforeDays?: number | undefined;
1749
+ lastSeenAfterDays?: number | undefined;
1750
+ createdAtWithinDays?: number | undefined;
1751
+ createdAtOlderThanDays?: number | undefined;
1752
+ completenessMin?: number | undefined;
1753
+ completenessMax?: number | undefined;
1754
+ lastSeenBefore?: number | undefined;
1755
+ lastSeenAfter?: number | undefined;
1756
+ createdAtFrom?: number | undefined;
1757
+ createdAtBefore?: number | undefined;
1758
+ withinRadius?: {
1759
+ lat: number;
1760
+ lng: number;
1761
+ km: number;
1762
+ } | undefined;
1763
+ consentUpdatedWithinDays?: number | undefined;
1764
+ graduatedWithinMonths?: number | undefined;
1765
+ skillUsedWithinMonths?: number | undefined;
1766
+ hasJobAlert?: boolean | undefined;
1767
+ appliedWithinDays?: number | undefined;
1768
+ keywords: string[];
1769
+ countries: string[];
1770
+ courses: string[];
1771
+ skills: string[];
1772
+ languages: string[];
1773
+ certifications: string[];
1774
+ interests: string[];
1775
+ projects: string[];
1776
+ roles: string[];
1777
+ experienceLevels: string[];
1778
+ targetExperienceLevels: string[];
1779
+ jobSearchUrgencies: string[];
1780
+ referralSources: string[];
1781
+ statuses: string[];
1782
+ profileVisibilities: string[];
1783
+ skillProficiencyLevels: string[];
1784
+ languageProficiencyLevels: string[];
1785
+ studyTypes: string[];
1786
+ socialAccountTypes: string[];
1787
+ salaryCurrencies: string[];
1788
+ companies: string[];
1789
+ designations: string[];
1790
+ institutes: string[];
1791
+ fieldsOfStudy: string[];
1792
+ certificationAuthorities: string[];
1793
+ jobRoles: string[];
1794
+ jobLocations: string[];
1795
+ hiringForCompanies: string[];
1796
+ coordinatesAtInstitutes: string[];
1797
+ openToWorkOnly: boolean;
1798
+ remoteExperienceOnly: boolean;
1799
+ hasResumeOnly: boolean;
1800
+ onboardingCompletedOnly: boolean;
1801
+ emailVerifiedOnly: boolean;
1802
+ mobileVerifiedOnly: boolean;
1803
+ states: string[];
1804
+ stateCodes: string[];
1805
+ cities: string[];
1806
+ signupCountries: string[];
1807
+ signupLocales: string[];
1808
+ signupSources: string[];
1809
+ educationLevels: string[];
1810
+ jobAlertFrequencies: string[];
1811
+ consentSources: string[];
1812
+ notificationChannelsEnabled: string[];
1813
+ currentlyEmployed: boolean;
1814
+ hasImage: boolean;
1815
+ hasHeadline: boolean;
1816
+ hasAboutMe: boolean;
1817
+ hasMobile: boolean;
1818
+ missingSections: string[];
1819
+ companyTypes: string[];
1820
+ instituteTypes: string[];
1821
+ }[];
1298
1822
  }, yup.AnyObject, {
1299
1823
  countries: never[];
1300
1824
  roles: never[];
@@ -1333,13 +1857,72 @@ declare const ListFilterSchema: yup.ObjectSchema<{
1333
1857
  onboardingCompletedOnly: false;
1334
1858
  emailVerifiedOnly: false;
1335
1859
  mobileVerifiedOnly: false;
1860
+ lastSeenBeforeDays: undefined;
1861
+ lastSeenAfterDays: undefined;
1862
+ createdAtWithinDays: undefined;
1863
+ createdAtOlderThanDays: undefined;
1864
+ completenessMin: undefined;
1865
+ completenessMax: undefined;
1866
+ lastSeenBefore: undefined;
1867
+ lastSeenAfter: undefined;
1868
+ createdAtFrom: undefined;
1869
+ createdAtBefore: undefined;
1870
+ states: never[];
1871
+ stateCodes: never[];
1872
+ cities: never[];
1873
+ withinRadius: undefined;
1874
+ signupCountries: never[];
1875
+ signupLocales: never[];
1876
+ signupSources: never[];
1877
+ educationLevels: never[];
1878
+ jobAlertFrequencies: never[];
1879
+ consentSources: never[];
1880
+ consentUpdatedWithinDays: undefined;
1881
+ notificationChannelsEnabled: never[];
1882
+ currentlyEmployed: false;
1883
+ graduatedWithinMonths: undefined;
1884
+ skillUsedWithinMonths: undefined;
1885
+ hasImage: false;
1886
+ hasHeadline: false;
1887
+ hasAboutMe: false;
1888
+ hasMobile: false;
1889
+ missingSections: never[];
1890
+ companyTypes: never[];
1891
+ instituteTypes: never[];
1892
+ hasJobAlert: undefined;
1893
+ hasApplied: undefined;
1894
+ appliedWithinDays: undefined;
1895
+ search: undefined;
1896
+ or: never[];
1336
1897
  }, "">;
1337
1898
  declare const MailingListSchema: yup.ObjectSchema<{
1338
1899
  name: string;
1339
1900
  description: string | undefined;
1340
1901
  filter: {
1902
+ search?: string | undefined;
1903
+ hasApplied?: boolean | undefined;
1341
1904
  minSalaryFloor?: number | undefined;
1342
1905
  minSalaryCeil?: number | undefined;
1906
+ lastSeenBeforeDays?: number | undefined;
1907
+ lastSeenAfterDays?: number | undefined;
1908
+ createdAtWithinDays?: number | undefined;
1909
+ createdAtOlderThanDays?: number | undefined;
1910
+ completenessMin?: number | undefined;
1911
+ completenessMax?: number | undefined;
1912
+ lastSeenBefore?: number | undefined;
1913
+ lastSeenAfter?: number | undefined;
1914
+ createdAtFrom?: number | undefined;
1915
+ createdAtBefore?: number | undefined;
1916
+ withinRadius?: {
1917
+ lat: number;
1918
+ lng: number;
1919
+ km: number;
1920
+ } | undefined;
1921
+ consentUpdatedWithinDays?: number | undefined;
1922
+ graduatedWithinMonths?: number | undefined;
1923
+ skillUsedWithinMonths?: number | undefined;
1924
+ hasJobAlert?: boolean | undefined;
1925
+ appliedWithinDays?: number | undefined;
1343
1926
  keywords: string[];
1344
1927
  countries: string[];
1345
1928
  courses: string[];
@@ -1375,6 +1958,103 @@ declare const MailingListSchema: yup.ObjectSchema<{
1375
1958
  onboardingCompletedOnly: boolean;
1376
1959
  emailVerifiedOnly: boolean;
1377
1960
  mobileVerifiedOnly: boolean;
1961
+ states: string[];
1962
+ stateCodes: string[];
1963
+ cities: string[];
1964
+ signupCountries: string[];
1965
+ signupLocales: string[];
1966
+ signupSources: string[];
1967
+ educationLevels: string[];
1968
+ jobAlertFrequencies: string[];
1969
+ consentSources: string[];
1970
+ notificationChannelsEnabled: string[];
1971
+ currentlyEmployed: boolean;
1972
+ hasImage: boolean;
1973
+ hasHeadline: boolean;
1974
+ hasAboutMe: boolean;
1975
+ hasMobile: boolean;
1976
+ missingSections: string[];
1977
+ companyTypes: string[];
1978
+ instituteTypes: string[];
1979
+ or: {
1980
+ search?: string | undefined;
1981
+ hasApplied?: boolean | undefined;
1982
+ minSalaryFloor?: number | undefined;
1983
+ minSalaryCeil?: number | undefined;
1984
+ lastSeenBeforeDays?: number | undefined;
1985
+ lastSeenAfterDays?: number | undefined;
1986
+ createdAtWithinDays?: number | undefined;
1987
+ createdAtOlderThanDays?: number | undefined;
1988
+ completenessMin?: number | undefined;
1989
+ completenessMax?: number | undefined;
1990
+ lastSeenBefore?: number | undefined;
1991
+ lastSeenAfter?: number | undefined;
1992
+ createdAtFrom?: number | undefined;
1993
+ createdAtBefore?: number | undefined;
1994
+ withinRadius?: {
1995
+ lat: number;
1996
+ lng: number;
1997
+ km: number;
1998
+ } | undefined;
1999
+ consentUpdatedWithinDays?: number | undefined;
2000
+ graduatedWithinMonths?: number | undefined;
2001
+ skillUsedWithinMonths?: number | undefined;
2002
+ hasJobAlert?: boolean | undefined;
2003
+ appliedWithinDays?: number | undefined;
2004
+ keywords: string[];
2005
+ countries: string[];
2006
+ courses: string[];
2007
+ skills: string[];
2008
+ languages: string[];
2009
+ certifications: string[];
2010
+ interests: string[];
2011
+ projects: string[];
2012
+ roles: string[];
2013
+ experienceLevels: string[];
2014
+ targetExperienceLevels: string[];
2015
+ jobSearchUrgencies: string[];
2016
+ referralSources: string[];
2017
+ statuses: string[];
2018
+ profileVisibilities: string[];
2019
+ skillProficiencyLevels: string[];
2020
+ languageProficiencyLevels: string[];
2021
+ studyTypes: string[];
2022
+ socialAccountTypes: string[];
2023
+ salaryCurrencies: string[];
2024
+ companies: string[];
2025
+ designations: string[];
2026
+ institutes: string[];
2027
+ fieldsOfStudy: string[];
2028
+ certificationAuthorities: string[];
2029
+ jobRoles: string[];
2030
+ jobLocations: string[];
2031
+ hiringForCompanies: string[];
2032
+ coordinatesAtInstitutes: string[];
2033
+ openToWorkOnly: boolean;
2034
+ remoteExperienceOnly: boolean;
2035
+ hasResumeOnly: boolean;
2036
+ onboardingCompletedOnly: boolean;
2037
+ emailVerifiedOnly: boolean;
2038
+ mobileVerifiedOnly: boolean;
2039
+ states: string[];
2040
+ stateCodes: string[];
2041
+ cities: string[];
2042
+ signupCountries: string[];
2043
+ signupLocales: string[];
2044
+ signupSources: string[];
2045
+ educationLevels: string[];
2046
+ jobAlertFrequencies: string[];
2047
+ consentSources: string[];
2048
+ notificationChannelsEnabled: string[];
2049
+ currentlyEmployed: boolean;
2050
+ hasImage: boolean;
2051
+ hasHeadline: boolean;
2052
+ hasAboutMe: boolean;
2053
+ hasMobile: boolean;
2054
+ missingSections: string[];
2055
+ companyTypes: string[];
2056
+ instituteTypes: string[];
2057
+ }[];
1378
2058
  };
1379
2059
  }, yup.AnyObject, {
1380
2060
  name: undefined;
@@ -1417,30 +2097,179 @@ declare const MailingListSchema: yup.ObjectSchema<{
1417
2097
  onboardingCompletedOnly: false;
1418
2098
  emailVerifiedOnly: false;
1419
2099
  mobileVerifiedOnly: false;
2100
+ lastSeenBeforeDays: undefined;
2101
+ lastSeenAfterDays: undefined;
2102
+ createdAtWithinDays: undefined;
2103
+ createdAtOlderThanDays: undefined;
2104
+ completenessMin: undefined;
2105
+ completenessMax: undefined;
2106
+ lastSeenBefore: undefined;
2107
+ lastSeenAfter: undefined;
2108
+ createdAtFrom: undefined;
2109
+ createdAtBefore: undefined;
2110
+ states: never[];
2111
+ stateCodes: never[];
2112
+ cities: never[];
2113
+ withinRadius: undefined;
2114
+ signupCountries: never[];
2115
+ signupLocales: never[];
2116
+ signupSources: never[];
2117
+ educationLevels: never[];
2118
+ jobAlertFrequencies: never[];
2119
+ consentSources: never[];
2120
+ consentUpdatedWithinDays: undefined;
2121
+ notificationChannelsEnabled: never[];
2122
+ currentlyEmployed: false;
2123
+ graduatedWithinMonths: undefined;
2124
+ skillUsedWithinMonths: undefined;
2125
+ hasImage: false;
2126
+ hasHeadline: false;
2127
+ hasAboutMe: false;
2128
+ hasMobile: false;
2129
+ missingSections: never[];
2130
+ companyTypes: never[];
2131
+ instituteTypes: never[];
2132
+ hasJobAlert: undefined;
2133
+ hasApplied: undefined;
2134
+ appliedWithinDays: undefined;
2135
+ search: undefined;
2136
+ or: never[];
1420
2137
  };
1421
2138
  }, "">;
2139
+ /**
2140
+ * When a campaign sends. Discriminated by `kind`; the fields each kind needs are
2141
+ * required only for that kind, so one stored shape covers all four.
2142
+ */
2143
+ declare const CampaignTriggerSchema: yup.ObjectSchema<{
2144
+ kind: NonNullable<CampaignTriggerKind | undefined>;
2145
+ timezone: string;
2146
+ runAt: number | undefined;
2147
+ startAt: number | undefined;
2148
+ interval: {
2149
+ every: number;
2150
+ unit: NonNullable<CampaignIntervalUnit | undefined>;
2151
+ } | undefined;
2152
+ timeOfDay: string;
2153
+ byWeekday: number[];
2154
+ byMonthday: number | undefined;
2155
+ end: {
2156
+ occurrences?: number | undefined;
2157
+ date?: number | undefined;
2158
+ kind: NonNullable<CampaignEndKind | undefined>;
2159
+ };
2160
+ anchorField: CampaignAnchorField | undefined;
2161
+ offsetDays: number | undefined;
2162
+ windowDays: number;
2163
+ }, yup.AnyObject, {
2164
+ kind: CampaignTriggerKind.Manual;
2165
+ timezone: "UTC";
2166
+ runAt: undefined;
2167
+ startAt: undefined;
2168
+ interval: undefined;
2169
+ timeOfDay: "09:00";
2170
+ byWeekday: never[];
2171
+ byMonthday: undefined;
2172
+ end: {
2173
+ kind: CampaignEndKind;
2174
+ };
2175
+ anchorField: undefined;
2176
+ offsetDays: undefined;
2177
+ windowDays: 2;
2178
+ }, "">;
2179
+ /**
2180
+ * Where one template variable's value comes from. `value` carries the literal for
2181
+ * `static`/`url`, and the field path for `recipient`/`source`.
2182
+ */
2183
+ declare const BindingSchema: yup.ObjectSchema<{
2184
+ kind: NonNullable<BindingKind | undefined>;
2185
+ value: string;
2186
+ }, yup.AnyObject, {
2187
+ kind: undefined;
2188
+ value: undefined;
2189
+ }, "">;
1422
2190
  declare const CampaignSchema: yup.ObjectSchema<{
1423
2191
  name: string;
1424
- subject: string;
1425
- html: string;
2192
+ subject: string | undefined;
2193
+ html: string | undefined;
1426
2194
  text: string | undefined;
1427
2195
  listId: string;
2196
+ templateKey: string | undefined;
2197
+ bindings: {
2198
+ [x: string]: {
2199
+ value: string;
2200
+ kind: NonNullable<BindingKind | undefined>;
2201
+ };
2202
+ [x: number]: {
2203
+ value: string;
2204
+ kind: NonNullable<BindingKind | undefined>;
2205
+ };
2206
+ };
2207
+ dataSource: {
2208
+ id: string;
2209
+ params: {
2210
+ [x: string]: {} | undefined;
2211
+ [x: number]: {} | undefined;
2212
+ };
2213
+ } | undefined;
2214
+ trigger: {
2215
+ runAt?: number | undefined;
2216
+ startAt?: number | undefined;
2217
+ interval?: {
2218
+ every: number;
2219
+ unit: NonNullable<CampaignIntervalUnit | undefined>;
2220
+ } | undefined;
2221
+ byMonthday?: number | undefined;
2222
+ anchorField?: CampaignAnchorField | undefined;
2223
+ offsetDays?: number | undefined;
2224
+ kind: NonNullable<CampaignTriggerKind | undefined>;
2225
+ timezone: string;
2226
+ timeOfDay: string;
2227
+ byWeekday: number[];
2228
+ end: {
2229
+ occurrences?: number | undefined;
2230
+ date?: number | undefined;
2231
+ kind: NonNullable<CampaignEndKind | undefined>;
2232
+ };
2233
+ windowDays: number;
2234
+ };
2235
+ enabled: boolean;
2236
+ dryRun: boolean;
2237
+ maxRecipients: number | undefined;
2238
+ utm: {
2239
+ campaign?: string | undefined;
2240
+ content?: string | undefined;
2241
+ } | undefined;
1428
2242
  }, yup.AnyObject, {
1429
2243
  name: undefined;
1430
2244
  subject: undefined;
1431
2245
  html: undefined;
1432
2246
  text: undefined;
1433
2247
  listId: undefined;
2248
+ templateKey: undefined;
2249
+ bindings: undefined;
2250
+ dataSource: undefined;
2251
+ trigger: {
2252
+ kind: CampaignTriggerKind.Manual;
2253
+ timezone: "UTC";
2254
+ runAt: undefined;
2255
+ startAt: undefined;
2256
+ interval: undefined;
2257
+ timeOfDay: "09:00";
2258
+ byWeekday: never[];
2259
+ byMonthday: undefined;
2260
+ end: {
2261
+ kind: CampaignEndKind;
2262
+ };
2263
+ anchorField: undefined;
2264
+ offsetDays: undefined;
2265
+ windowDays: 2;
2266
+ };
2267
+ enabled: false;
2268
+ dryRun: true;
2269
+ maxRecipients: undefined;
2270
+ utm: undefined;
1434
2271
  }, "">;
1435
2272
 
1436
- declare enum CampaignStatus {
1437
- Draft = "draft",
1438
- Sending = "sending",
1439
- Sent = "sent",
1440
- Failed = "failed"
1441
- }
1442
- declare const SupportedCampaignStatuses: CampaignStatus[];
1443
-
1444
2273
  declare const PaginationSchema: yup.ObjectSchema<{
1445
2274
  page: number;
1446
2275
  limit: number;
@@ -1943,6 +2772,7 @@ declare const UserSchema: yup.ObjectSchema<{
1943
2772
  emailVerified: string | null | undefined;
1944
2773
  mobileVerified: string | null | undefined;
1945
2774
  experienceLevel: NonNullable<ExperienceLevel | undefined>;
2775
+ educationLevel: EducationLevel | undefined;
1946
2776
  location: {
1947
2777
  placeId?: string | null | undefined;
1948
2778
  state?: string | null | undefined;
@@ -1959,8 +2789,8 @@ declare const UserSchema: yup.ObjectSchema<{
1959
2789
  signupContext: {
1960
2790
  country: string;
1961
2791
  at: number;
1962
- locale: string;
1963
2792
  source: NonNullable<SignupContextSource | undefined>;
2793
+ locale: string;
1964
2794
  } | undefined;
1965
2795
  profileVisibility: UserProfileVisibility;
1966
2796
  openToWork: boolean;
@@ -2150,6 +2980,7 @@ declare const UserSchema: yup.ObjectSchema<{
2150
2980
  emailVerified: undefined;
2151
2981
  mobileVerified: undefined;
2152
2982
  experienceLevel: undefined;
2983
+ educationLevel: undefined;
2153
2984
  location: {
2154
2985
  placeId: undefined;
2155
2986
  country: undefined;
@@ -2202,6 +3033,7 @@ declare const UserGeneralDetailSchema: yup.ObjectSchema<{
2202
3033
  emailVerified: string | null | undefined;
2203
3034
  mobileVerified: string | null | undefined;
2204
3035
  experienceLevel: NonNullable<ExperienceLevel | undefined>;
3036
+ educationLevel: EducationLevel | undefined;
2205
3037
  location: {
2206
3038
  placeId?: string | null | undefined;
2207
3039
  state?: string | null | undefined;
@@ -2218,8 +3050,8 @@ declare const UserGeneralDetailSchema: yup.ObjectSchema<{
2218
3050
  signupContext: {
2219
3051
  country: string;
2220
3052
  at: number;
2221
- locale: string;
2222
3053
  source: NonNullable<SignupContextSource | undefined>;
3054
+ locale: string;
2223
3055
  } | undefined;
2224
3056
  profileVisibility: UserProfileVisibility;
2225
3057
  }, yup.AnyObject, {
@@ -2236,6 +3068,7 @@ declare const UserGeneralDetailSchema: yup.ObjectSchema<{
2236
3068
  emailVerified: undefined;
2237
3069
  mobileVerified: undefined;
2238
3070
  experienceLevel: undefined;
3071
+ educationLevel: undefined;
2239
3072
  location: {
2240
3073
  placeId: undefined;
2241
3074
  country: undefined;
@@ -3023,4 +3856,4 @@ declare const StudentCompletenessSchema: yup.ObjectSchema<{
3023
3856
  };
3024
3857
  }, "">;
3025
3858
 
3026
- export { AnswerChoiceType, ApplicationReceivePreference, CampaignSchema, CampaignStatus, ChoiceQuestionSchema, Common, CompensationType, CompletenessScoreSchema, ContactTypes, CoordinatorPageLinkSchema, DISPLAY_DATE_FORMAT, DISPLAY_DATE_FORMAT_SHORT, DateStringSchema, DbDefaultSchema, DefaultPaginatedResponse, DefaultPaginationOptions, DefaultUserRoles, DurationSchema, EMPTY_STRING, EducationLevel, EducationSchema, EmployeeCount, EmploymentType, ExperienceLevel, FEEDBACK_MESSAGE_MAX, FeedbackSchema, FeedbackStatus, FeedbackType, GeneraDetailFields, GroupManagedBy, GroupMembershipSchema, GroupMembershipStatus, GroupSchema, GroupStatus, GroupTranslationSchema, GroupVisibility, InputQuestionSchema, JOB_TAXONOMY, JobAlertFrequency, JobCategory, JobIndustry, JobSchema, JobSearchUrgency, JobStatus, JobSubCategory, ListFilterSchema, LocationSchema, MIN_SALARY_LOWER_BOUND, MIN_SALARY_UPPER_BOUND, MailingListSchema, NotificationChannel, PREFILL_MIRRORED_KEYS, PRIVATE_PROFILE_FIELDS, PageSchema, PageStatus, PageType, type PaginatedResponse, PaginationSchema, PostSchema, PostStatus, type PrefillMirroredKey, type PrivateProfileField, ProficiencyLevel, QuestionSchema, QuestionType, ReadAndAcknowledgeQuestionSchema, RecruiterPageLinkSchema, ReferralSource, ReportReason, ReportSchema, ResourceType, SITEMAP_FORMAT, SYSTEM_DATE_FORMAT, SavedSearchSchema, SavedSearchStatus, SignupContextSource, SkillSchema, SocialAccount, SocialAccountSchema, StudentCompletenessSchema, StudyType, SupportedAnswerChoiceTypes, SupportedApplicationReceivePreferences, SupportedCampaignStatuses, SupportedCompensationTypes, SupportedContactTypes, SupportedEducationLevels, SupportedEmployeeCounts, SupportedEmploymentTypes, SupportedExperienceLevels, SupportedFeedbackStatuses, SupportedFeedbackTypes, SupportedJobAlertFrequencies, SupportedJobCategories, SupportedJobIndustries, SupportedJobSearchUrgencies, SupportedJobStatuses, SupportedJobSubCategories, SupportedNotificationChannels, SupportedPageStatuses, SupportedPageTypes, SupportedPostStatuses, SupportedProficiencyLevels, SupportedQuestionTypes, SupportedReferralSources, SupportedReportReasons, SupportedResourceTypes, SupportedSalaryCurrencies, type SupportedSalaryCurrency, SupportedSavedSearchStatuses, SupportedSignupContextSources, SupportedSocialAccounts, SupportedStudyTypes, SupportedUserProfileVisibilities, SupportedUserRoles, SupportedUserStatuses, SupportedWorkModes, TAXONOMY_LABELS, type TChoiceQuestionSchema, type TDurationSchema, type TInputQuestionSchema, type TJobSchema, type TPostSchema, type TQuestionSchema, type TReadAndAcknowledgeQuestionSchema, type TUserIdAndCreatedAtSchema, TermsAcceptedSchema, UserAdditionalInfoSchema, UserCertificationSchema, UserCompletenessSchema, UserCoordinatorProfileSchema, UserDetailType, UserGeneralDetailSchema, UserIdAndCreatedAtSchema, UserInterestSchema, UserJobPreferencesSchema, UserLanguageSchema, type UserProfileOverview, UserProfileVisibility, UserProjectSchema, UserRecruiterProfileSchema, UserRole, UserSchema, UserSkillSchema, UserStatus, WorkExperienceSchema, WorkMode, categoryOfIndustry, categoryOfSubCategory, dateString, deriveIndustry, getSchemaByQuestion, industriesOfCategory, industryOfSubCategory, subCategoriesOfIndustry };
3859
+ export { AnswerChoiceType, ApplicationReceivePreference, BindingKind, BindingSchema, CAMPAIGN_MAX_RECIPIENTS_CEILING, CampaignAnchorField, CampaignEndKind, CampaignIntervalUnit, CampaignSchema, CampaignStatus, CampaignTriggerKind, CampaignTriggerSchema, ChoiceQuestionSchema, Common, CompensationType, CompletenessScoreSchema, ContactTypes, CoordinatorPageLinkSchema, DISPLAY_DATE_FORMAT, DISPLAY_DATE_FORMAT_SHORT, DateStringSchema, DbDefaultSchema, DefaultPaginatedResponse, DefaultPaginationOptions, DefaultUserRoles, DurationSchema, EMPTY_STRING, EducationLevel, EducationSchema, EmployeeCount, EmploymentType, ExperienceLevel, FEEDBACK_MESSAGE_MAX, FeedbackSchema, FeedbackStatus, FeedbackType, GeneraDetailFields, GroupManagedBy, GroupMembershipSchema, GroupMembershipStatus, GroupSchema, GroupStatus, GroupTranslationSchema, GroupVisibility, InputQuestionSchema, JOB_TAXONOMY, JobAlertFrequency, JobCategory, JobIndustry, JobSchema, JobSearchUrgency, JobStatus, JobSubCategory, ListFilterBranch, ListFilterBranchSchema, ListFilterSchema, LocationSchema, MIN_SALARY_LOWER_BOUND, MIN_SALARY_UPPER_BOUND, MailingListSchema, NotificationChannel, OccurrenceStatus, PREFILL_MIRRORED_KEYS, PRIVATE_PROFILE_FIELDS, PageSchema, PageStatus, PageType, type PaginatedResponse, PaginationSchema, PostSchema, PostStatus, type PrefillMirroredKey, type PrivateProfileField, ProficiencyLevel, QuestionSchema, QuestionType, ReadAndAcknowledgeQuestionSchema, RecruiterPageLinkSchema, ReferralSource, ReportReason, ReportSchema, ResourceType, SITEMAP_FORMAT, SYSTEM_DATE_FORMAT, SavedSearchSchema, SavedSearchStatus, SignupContextSource, SkillSchema, SocialAccount, SocialAccountSchema, StudentCompletenessSchema, StudyType, SupportedAnswerChoiceTypes, SupportedApplicationReceivePreferences, SupportedBindingKinds, SupportedCampaignAnchorFields, SupportedCampaignEndKinds, SupportedCampaignIntervalUnits, SupportedCampaignStatuses, SupportedCampaignTriggerKinds, SupportedCompensationTypes, SupportedContactTypes, SupportedEducationLevels, SupportedEmployeeCounts, SupportedEmploymentTypes, SupportedExperienceLevels, SupportedFeedbackStatuses, SupportedFeedbackTypes, SupportedJobAlertFrequencies, SupportedJobCategories, SupportedJobIndustries, SupportedJobSearchUrgencies, SupportedJobStatuses, SupportedJobSubCategories, SupportedNotificationChannels, SupportedOccurrenceStatuses, SupportedPageStatuses, SupportedPageTypes, SupportedPostStatuses, SupportedProficiencyLevels, SupportedQuestionTypes, SupportedReferralSources, SupportedReportReasons, SupportedResourceTypes, SupportedSalaryCurrencies, type SupportedSalaryCurrency, SupportedSavedSearchStatuses, SupportedSignupContextSources, SupportedSocialAccounts, SupportedStudyTypes, SupportedUserProfileVisibilities, SupportedUserRoles, SupportedUserStatuses, SupportedWorkModes, TAXONOMY_LABELS, type TChoiceQuestionSchema, type TDurationSchema, type TInputQuestionSchema, type TJobSchema, type TPostSchema, type TQuestionSchema, type TReadAndAcknowledgeQuestionSchema, type TUserIdAndCreatedAtSchema, TermsAcceptedSchema, UserAdditionalInfoSchema, UserCertificationSchema, UserCompletenessSchema, UserCoordinatorProfileSchema, UserDetailType, UserGeneralDetailSchema, UserIdAndCreatedAtSchema, UserInterestSchema, UserJobPreferencesSchema, UserLanguageSchema, type UserProfileOverview, UserProfileVisibility, UserProjectSchema, UserRecruiterProfileSchema, UserRole, UserSchema, UserSkillSchema, UserStatus, WorkExperienceSchema, WorkMode, categoryOfIndustry, categoryOfSubCategory, dateString, deriveIndustry, getSchemaByQuestion, industriesOfCategory, industryOfSubCategory, subCategoriesOfIndustry };