@thejob/schema 2.1.7 → 2.1.9

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;
@@ -1937,6 +2766,7 @@ declare const UserSchema: yup.ObjectSchema<{
1937
2766
  };
1938
2767
  headline: string | undefined;
1939
2768
  image: string | undefined;
2769
+ imageOriginal: string | undefined;
1940
2770
  aboutMe: string | undefined;
1941
2771
  email: string;
1942
2772
  mobile: string | null | undefined;
@@ -1960,8 +2790,8 @@ declare const UserSchema: yup.ObjectSchema<{
1960
2790
  signupContext: {
1961
2791
  country: string;
1962
2792
  at: number;
1963
- locale: string;
1964
2793
  source: NonNullable<SignupContextSource | undefined>;
2794
+ locale: string;
1965
2795
  } | undefined;
1966
2796
  profileVisibility: UserProfileVisibility;
1967
2797
  openToWork: boolean;
@@ -2145,6 +2975,7 @@ declare const UserSchema: yup.ObjectSchema<{
2145
2975
  };
2146
2976
  headline: undefined;
2147
2977
  image: undefined;
2978
+ imageOriginal: undefined;
2148
2979
  aboutMe: undefined;
2149
2980
  email: undefined;
2150
2981
  mobile: undefined;
@@ -2198,6 +3029,7 @@ declare const UserGeneralDetailSchema: yup.ObjectSchema<{
2198
3029
  };
2199
3030
  headline: string | undefined;
2200
3031
  image: string | undefined;
3032
+ imageOriginal: string | undefined;
2201
3033
  aboutMe: string | undefined;
2202
3034
  email: string;
2203
3035
  mobile: string | null | undefined;
@@ -2221,8 +3053,8 @@ declare const UserGeneralDetailSchema: yup.ObjectSchema<{
2221
3053
  signupContext: {
2222
3054
  country: string;
2223
3055
  at: number;
2224
- locale: string;
2225
3056
  source: NonNullable<SignupContextSource | undefined>;
3057
+ locale: string;
2226
3058
  } | undefined;
2227
3059
  profileVisibility: UserProfileVisibility;
2228
3060
  }, yup.AnyObject, {
@@ -2233,6 +3065,7 @@ declare const UserGeneralDetailSchema: yup.ObjectSchema<{
2233
3065
  };
2234
3066
  headline: undefined;
2235
3067
  image: undefined;
3068
+ imageOriginal: undefined;
2236
3069
  aboutMe: undefined;
2237
3070
  email: undefined;
2238
3071
  mobile: undefined;
@@ -3027,4 +3860,4 @@ declare const StudentCompletenessSchema: yup.ObjectSchema<{
3027
3860
  };
3028
3861
  }, "">;
3029
3862
 
3030
- 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 };
3863
+ 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 };