@remit/api-openapi-types 0.0.39 → 0.0.41

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.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/types.d.ts +474 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remit/api-openapi-types",
3
- "version": "0.0.39",
3
+ "version": "0.0.41",
4
4
  "type": "module",
5
5
  "main": "types.d.ts",
6
6
  "types": "types.d.ts",
package/types.d.ts CHANGED
@@ -64,7 +64,7 @@ writer can reach is a vocabulary that lies about what the field means.
64
64
  /**
65
65
  * IMAP connection states per RFC 9051 Section 3
66
66
  */
67
- export type ConnectionState = "not_authenticated" | "authenticated" | "selected" | "logout" | "reauth_required";
67
+ export type ConnectionState = "not_authenticated" | "authenticated" | "selected" | "logout" | "reauth_required" | "credentials_missing";
68
68
  /**
69
69
  * Phase of the initial account sync lifecycle
70
70
  */
@@ -73,6 +73,14 @@ writer can reach is a vocabulary that lies about what the field means.
73
73
  * Where a resolved FolderAppointment came from. Total and required: every role carries one, so a surface can tell a folder somebody chose from a folder reader guessed without inferring it from which fields happen to be present.
74
74
  */
75
75
  export type FolderAppointmentSource = "Appointed" | "Flagged" | "Reserved" | "Proposed" | "Stale" | "None";
76
+ /**
77
+ * Whether an import writes. The default is the dry run, so the wizard can show what a file would do before anything lands.
78
+ */
79
+ export type ConfigImportMode = "validate" | "apply";
80
+ /**
81
+ * What an import does when the configuration it is importing into is not empty.
82
+ */
83
+ export type ConfigImportOnExisting = "abort" | "merge";
76
84
  /**
77
85
  * Outcome of the most recent manifest check. `ok` when a manifest was fetched and validated, `failed` when it could not be, `disabled` when no manifest URL is configured or no check has ever run (RFC 037 D8).
78
86
  */
@@ -249,6 +257,38 @@ distinguishable from a network failure without parsing prose.
249
257
  * Known user-setting keys. Each maps, in the registry, to a required value kind and a zod schema. New keys are added deliberately by extending this enum and the registry — never as an ad-hoc column.
250
258
  */
251
259
  export type AccountSettingName = "Theme" | "Density" | "DefaultComposerFormat" | "PinnedFolders" | "AccountSignaturePlainText" | "AccountSignatureHtml" | "AccountDisplayName" | "AccountMuted" | "AccountComposeLanguages" | "MailboxDisplayName" | "MailboxMuted" | "FolderRoleAppointment" | "FolderRoleAppointmentLabel" | "MailboxRole";
260
+ /**
261
+ * Lifecycle of one applied configuration import. An import is Complete the moment every folder reference in the file has been bound to a real mailbox; until then it is Pending, waiting on the IMAP discovery that will produce those mailboxes.
262
+ */
263
+ export type ConfigImportState = "Pending" | "Complete";
264
+ /**
265
+ * Which piece of configuration a still-unbound folder reference belongs to. A mailbox id is regenerated by every discovery, so an imported file names folders by IMAP path and the binder writes the row once a path resolves.
266
+ */
267
+ export type ConfigImportRefKind = "FolderRole" | "MailboxOverride" | "FilterAction";
268
+ /**
269
+ * Display color for a calendar collection. Positional rather than named: the palette is a client-side concern, so the store carries the slot and the client owns what it renders (issue #15).
270
+ */
271
+ export type CalendarColor = "Cal1" | "Cal2" | "Cal3" | "Cal4" | "Cal5" | "Cal6";
272
+ /**
273
+ * Which iCalendar components a collection accepts (RFC 4791 supported-calendar-component-set). Only VEVENT is stored today; VTODO and VJOURNAL collections would be separate members, so the value is a property of the collection rather than of each object.
274
+ */
275
+ export type CalendarComponentSet = "VeventOnly";
276
+ /**
277
+ * Where a calendar collection came from. `Default` is the one provisioned per account config on first use and is never deleted; `UserCreated` is one a person made; `MailDerived` is one populated from mail rather than by a person.
278
+ */
279
+ export type CalendarSource = "Default" | "UserCreated" | "MailDerived";
280
+ /**
281
+ * Projection of a VEVENT's STATUS property (RFC 5545 3.8.1.11). A VEVENT with no STATUS projects as `Confirmed`, which is the value RFC 5545 gives an event whose status is unstated.
282
+ */
283
+ export type CalendarEventStatus = "Confirmed" | "Tentative" | "Cancelled";
284
+ /**
285
+ * Projection of a VEVENT's TRANSP property (RFC 5545 3.8.2.7) — whether the event consumes free/busy time. A VEVENT with no TRANSP projects as `Opaque`, the RFC default.
286
+ */
287
+ export type CalendarTransparency = "Opaque" | "Transparent";
288
+ /**
289
+ * How confidently a stored time was placed on the clock. A calendar that cannot say this hides its worst failure: an event read in the wrong zone is off by hours and looks exactly like an event read correctly.
290
+ */
291
+ export type ZoneCertainty = "Local" | "Explicit" | "Ambiguous";
252
292
  /**
253
293
  * Explicit state engine for a pending placement-move marker (issue #1271, epic #1281). Recovery keys off this field, not control-flow inference: a redelivered/retried call drives a marker forward from whichever state it is actually in, rather than re-deriving intent by comparing the message's current location.
254
294
  */
@@ -860,6 +900,10 @@ never from a raw content-type line — parameters carry `name=` and
860
900
  * Associated email accounts
861
901
  */
862
902
  accounts: AccountResponse[];
903
+ /**
904
+ * Absent unless a configuration import is still waiting on folders IMAP has not produced yet (#1021). Nothing polls a separate route for it.
905
+ */
906
+ pendingImport?: PendingConfigImport;
863
907
  }
864
908
  /**
865
909
  * Configuration container for user accounts. Groups multiple IMAP accounts under a single user.
@@ -1233,6 +1277,23 @@ never from a raw content-type line — parameters carry `name=` and
1233
1277
  */
1234
1278
  staleAppointmentPath?: String512;
1235
1279
  }
1280
+ /**
1281
+ * An import that is still waiting for IMAP discovery to produce the folders its
1282
+ file named. The folder appointed to a role, a folder's own display name or
1283
+ mute, and a filter's move destination are all bound by path; a path this
1284
+ account does not hold yet is kept, not guessed, and bound the moment discovery
1285
+ finds it.
1286
+ */
1287
+ export interface PendingConfigImport {
1288
+ /**
1289
+ * The import still waiting
1290
+ */
1291
+ importId: UUID;
1292
+ /**
1293
+ * The IMAP paths no mailbox answers to yet, deduplicated
1294
+ */
1295
+ folderPaths: string[];
1296
+ }
1236
1297
  /**
1237
1298
  * A configuration export: one versioned document carrying every user decision this instance holds, and no credential.
1238
1299
  */
@@ -1246,6 +1307,104 @@ never from a raw content-type line — parameters carry `name=` and
1246
1307
  */
1247
1308
  document: Record;
1248
1309
  }
1310
+ /**
1311
+ * Request body for POST /config/import
1312
+ */
1313
+ export interface ImportConfigInput {
1314
+ /**
1315
+ * `validate` writes nothing; `apply` writes.
1316
+ */
1317
+ mode?: ConfigImportMode;
1318
+ /**
1319
+ * What to do when this configuration is not empty.
1320
+ */
1321
+ onExisting?: ConfigImportOnExisting;
1322
+ /**
1323
+ * The config document, as exported.
1324
+ */
1325
+ document: Record;
1326
+ }
1327
+ /**
1328
+ * The outcome of a validate or an apply. A rejected document is an answer, not a failure: `valid` is false and `errors` says why.
1329
+ */
1330
+ export interface ConfigImportReport {
1331
+ /**
1332
+ * Import identity; present on apply, so the folder bindings this import is still waiting on can be named later
1333
+ */
1334
+ importId?: UUID;
1335
+ /**
1336
+ * Whether the document is importable at all
1337
+ */
1338
+ valid: boolean;
1339
+ /**
1340
+ * Schema version of the submitted document
1341
+ */
1342
+ schemaVersion: number;
1343
+ /**
1344
+ * Whether anything was written
1345
+ */
1346
+ applied: boolean;
1347
+ /**
1348
+ * Per-item verdicts
1349
+ */
1350
+ items: ConfigImportItemReport[];
1351
+ /**
1352
+ * Blocking problems; non-empty means nothing was written
1353
+ */
1354
+ errors: ApiError[];
1355
+ /**
1356
+ * Non-blocking notes - e.g. a folder path this account does not hold yet
1357
+ */
1358
+ warnings: ApiError[];
1359
+ /**
1360
+ * Accounts that landed needing a credential before they can sync
1361
+ */
1362
+ accountsNeedingCredentials: UUID[];
1363
+ }
1364
+ /**
1365
+ * What became of one item in the submitted document
1366
+ */
1367
+ export interface ConfigImportItemReport {
1368
+ /**
1369
+ * Which section: accounts | labels | filters | addressFlags | settings
1370
+ */
1371
+ section: string;
1372
+ /**
1373
+ * Human key of the item - an email, a label name, a filter name
1374
+ */
1375
+ key: string;
1376
+ /**
1377
+ * created | updated | unchanged | skipped | rejected
1378
+ */
1379
+ verdict: string;
1380
+ /**
1381
+ * Why, when the verdict is skipped or rejected
1382
+ */
1383
+ reason?: string;
1384
+ }
1385
+ /**
1386
+ * The import was refused because this configuration is not empty. The body is
1387
+ flat: `code`, `message` and `details` sit at the top level.
1388
+
1389
+ `code: "config_not_empty"` — the configuration already holds an account, a
1390
+ label, a filter or an address flag. `details` names how many of each. Re-send
1391
+ with `onExisting: merge` to upsert instead.
1392
+ */
1393
+ export interface ConfigImportConflict {
1394
+ statusCode: 409;
1395
+ /**
1396
+ * Error code
1397
+ */
1398
+ code: string;
1399
+ /**
1400
+ * Human-readable error message
1401
+ */
1402
+ message: string;
1403
+ /**
1404
+ * Additional error details
1405
+ */
1406
+ details?: Record;
1407
+ }
1249
1408
  /**
1250
1409
  * The self-update resource: the running version, the outcome of the most recent manifest check, and the state of the current or last run. One read serves every interface state. The check block and the run block are independent by construction (RFC 037 D7).
1251
1410
  */
@@ -4208,6 +4367,78 @@ either way and cannot tell which it received.
4208
4367
  createdAt: number;
4209
4368
  updatedAt: number;
4210
4369
  }
4370
+ /**
4371
+ * A folder reference an import could not bind yet. Every folder in a
4372
+ configuration file is named by IMAP path, because mailbox ids are regenerated
4373
+ by each discovery, and a fresh database holds no mailboxes at all until IMAP
4374
+ has been read. The reference is recorded rather than dropped or guessed, and
4375
+ the binder writes the row it belongs to once the path resolves.
4376
+ */
4377
+ export interface ConfigImportUnresolvedRef {
4378
+ /**
4379
+ * Which piece of configuration this reference belongs to
4380
+ */
4381
+ kind: ConfigImportRefKind;
4382
+ /**
4383
+ * The account whose folders this path resolves against
4384
+ */
4385
+ accountId: UUID;
4386
+ /**
4387
+ * The IMAP path, as the exporting instance spelled it
4388
+ */
4389
+ folderPath: String512;
4390
+ /**
4391
+ * The role for a folder role, the folder path for a mailbox override, the filter id for a filter's move action
4392
+ */
4393
+ target: String256;
4394
+ }
4395
+ /**
4396
+ * One applied configuration import (#1021). It exists because a file's folder
4397
+ references cannot bind at apply time: IMAP discovery produces the mailboxes,
4398
+ minutes to hours later, and the ids it assigns are new every run.
4399
+
4400
+ The row keeps the document as applied — credential-stripped, like the file
4401
+ itself — so the binder can re-read the payload behind each reference instead
4402
+ of copying it, and so a person can see what was imported after the fact.
4403
+ */
4404
+ export interface ConfigImport {
4405
+ /**
4406
+ * Primary identifier
4407
+ */
4408
+ importId: UUID;
4409
+ /**
4410
+ * The configuration this file was imported into — the caller's own, never the one the file records as its provenance
4411
+ */
4412
+ accountConfigId: UUID;
4413
+ /**
4414
+ * Schema version of the document as applied, after migration
4415
+ */
4416
+ schemaVersion: number;
4417
+ /**
4418
+ * Whether every folder reference has been bound
4419
+ */
4420
+ state: ConfigImportState;
4421
+ /**
4422
+ * The document as applied. Carries no credential, for the same reason the file does not.
4423
+ */
4424
+ document: Record;
4425
+ /**
4426
+ * Folder references still waiting for a mailbox. Emptied by the binder as discovery resolves each path; an empty list is what makes the import Complete.
4427
+ */
4428
+ unresolvedRefs: ConfigImportUnresolvedRef[];
4429
+ /**
4430
+ * Epoch millis when the import was applied
4431
+ */
4432
+ createdAt: number;
4433
+ /**
4434
+ * Epoch millis when the last folder reference was bound; `0` while the import is still Pending
4435
+ */
4436
+ completedAt: number;
4437
+ /**
4438
+ * Epoch millis when the row was last written
4439
+ */
4440
+ updatedAt: number;
4441
+ }
4211
4442
  /**
4212
4443
  * Typed value for a user setting. `kind` discriminates the concrete shape; a registry binds each setting name to the kind it requires.
4213
4444
  */
@@ -4720,6 +4951,202 @@ domain already uses"; it does not close it.
4720
4951
  createdAt: number;
4721
4952
  updatedAt: number;
4722
4953
  }
4954
+ /**
4955
+ * A calendar collection scoped to an account config (issue #15) — the CalDAV
4956
+ collection a client mounts, and the parent of every CalendarObject.
4957
+
4958
+ `calendarId` is derived from `(accountConfigId, urlSegment)`, so the DAV path
4959
+ a client bookmarks resolves to a row without a lookup table, and provisioning
4960
+ the same collection twice writes the same row instead of a second one.
4961
+ `displayName` is the mutable human overlay and is never the key.
4962
+
4963
+ `syncSequence` is the collection's monotonic change counter: every write
4964
+ through the calendar service's put path bumps it and stamps the new value on
4965
+ the object it wrote, which is what a later WebDAV-Sync `sync-token` reports
4966
+ and what `CalendarObject.bySyncSequence` pages by.
4967
+ */
4968
+ export interface CalendarCollection {
4969
+ /**
4970
+ * Primary identifier, derived from accountConfigId + urlSegment
4971
+ */
4972
+ calendarId: UUID;
4973
+ /**
4974
+ * Owning account configuration
4975
+ */
4976
+ accountConfigId: UUID;
4977
+ /**
4978
+ * Path segment this collection is addressed by, unique within the account config. Stored case-folded, the same folding `calendarId` is derived from — a DAV path is matched case-insensitively, and storing the writer's casing would let a lookup by segment and a lookup by derived id disagree about one path. The default collection provisioned on first use holds "default".
4979
+ */
4980
+ urlSegment: String64;
4981
+ /**
4982
+ * Human-readable collection name (display)
4983
+ */
4984
+ displayName: String140;
4985
+ /**
4986
+ * Display color slot for this collection
4987
+ */
4988
+ color: CalendarColor;
4989
+ /**
4990
+ * Which iCalendar components this collection accepts
4991
+ */
4992
+ componentSet: CalendarComponentSet;
4993
+ /**
4994
+ * Where this collection came from
4995
+ */
4996
+ source: CalendarSource;
4997
+ /**
4998
+ * IANA time zone this collection's floating times are read in, e.g. "Europe/Amsterdam". `""` when none is set, which reads as UTC.
4999
+ */
5000
+ timezone: String64;
5001
+ /**
5002
+ * Monotonic change counter for this collection. Bumped by every write to one of its objects; the value stamped on `CalendarObject.syncSequence` is the value this counter held after that write.
5003
+ */
5004
+ syncSequence: number;
5005
+ createdAt: number;
5006
+ updatedAt: number;
5007
+ }
5008
+ /**
5009
+ * One calendar resource — the bytes behind one `.ics` URL (issue #15).
5010
+
5011
+ `icalData` is the canonical value. Every other column on this row is a
5012
+ projection of it, computed on write and never written independently: a reader
5013
+ that needs a fact the projection does not carry re-parses `icalData` rather
5014
+ than adding a column that could disagree with it.
5015
+
5016
+ The write path parses the bytes to validate and project them and then stores
5017
+ the bytes it was handed, never a reserialization of them. That is what keeps
5018
+ `etag` honest: the tag is a digest of exactly what the writer sent, so it
5019
+ moves only when a writer sends something different. It is not a digest that
5020
+ survives a round trip through the parser — ical.js refolds long lines and
5021
+ reorders properties, so a resource stored as its own reserialization would
5022
+ change tag without anyone editing it, and every client's cache would miss.
5023
+
5024
+ `calendarObjectId` is derived from `(calendarId, resourceName)`: the resource
5025
+ name is the last path segment of the resource's URL, so the URL a client holds
5026
+ resolves to a row directly, and a repeated PUT of the same resource rewrites
5027
+ its own row.
5028
+ */
5029
+ export interface CalendarObject {
5030
+ /**
5031
+ * Primary identifier, derived from calendarId + resourceName
5032
+ */
5033
+ calendarObjectId: UUID;
5034
+ /**
5035
+ * Collection this resource belongs to
5036
+ */
5037
+ calendarId: UUID;
5038
+ /**
5039
+ * Last path segment of the resource's URL, e.g. "a1b2c3.ics". Unique within the collection and chosen by whoever wrote the resource, never derived from its contents — a client is free to rename a resource without changing the event it holds.
5040
+ */
5041
+ resourceName: String256;
5042
+ /**
5043
+ * The VEVENT's UID property (RFC 5545 3.8.4.7). Identifies the event across collections and servers, which `resourceName` does not.
5044
+ */
5045
+ icalUid: String512;
5046
+ /**
5047
+ * The complete VCALENDAR text, byte-for-byte as stored — CANONICAL. Line endings are CRLF and are never normalized; unknown properties and components are preserved verbatim.
5048
+ */
5049
+ icalData: string;
5050
+ /**
5051
+ * Strong entity tag over the stored `icalData` bytes, used for If-Match on a conditional write and for change detection on read.
5052
+ */
5053
+ etag: String64;
5054
+ /**
5055
+ * The VEVENT's SEQUENCE property (RFC 5545 3.8.7.4) — the organizer's own revision counter, carried for scheduling comparisons. `0` when the event declares none, which is the RFC default.
5056
+ */
5057
+ sequence: number;
5058
+ /**
5059
+ * Value the owning collection's `syncSequence` held after the write that produced this row. Pages the `bySyncSequence` read.
5060
+ */
5061
+ syncSequence: number;
5062
+ /**
5063
+ * Projection of the VEVENT's SUMMARY (RFC 5545 3.8.1.12). `""` when the event carries none.
5064
+ */
5065
+ summary: String512;
5066
+ /**
5067
+ * Projection of the master VEVENT's DTSTART as an ISO 8601 date-time with zone offset — a business date, not an epoch instant. An all-day event carries midnight in the event's own zone.
5068
+ */
5069
+ dtStart: String64;
5070
+ /**
5071
+ * Projection of the master VEVENT's effective end as an ISO 8601 date-time with zone offset, resolved from DTEND or from DTSTART + DURATION. An event with neither ends when it starts (RFC 5545 3.6.1).
5072
+ */
5073
+ dtEnd: String64;
5074
+ /**
5075
+ * Whether the master VEVENT's DTSTART is a DATE rather than a DATE-TIME (RFC 5545 3.3.4) — an all-day or multi-day event, whose end is exclusive.
5076
+ */
5077
+ allDay: boolean;
5078
+ /**
5079
+ * How the master VEVENT's DTSTART was placed on the clock. `Ambiguous` means the resource named a zone nothing could resolve, so `dtStart` and every occurrence expanded from it may be off by hours — a client shows the event and says so rather than presenting a guess as a fact.
5080
+ */
5081
+ zoneCertainty: ZoneCertainty;
5082
+ /**
5083
+ * Projection of the master VEVENT's STATUS
5084
+ */
5085
+ status: CalendarEventStatus;
5086
+ /**
5087
+ * Projection of the master VEVENT's TRANSP
5088
+ */
5089
+ transparency: CalendarTransparency;
5090
+ /**
5091
+ * Whether the resource expands to more than its master instance — an RRULE, an RDATE, or an override VEVENT. Overrides count on their own: a client that edits one instance and then drops the rule leaves a resource with a master and its exceptions, and each of those is still an occurrence.
5092
+ */
5093
+ hasRecurrence: boolean;
5094
+ /**
5095
+ * ISO 8601 UTC instant through which `CalendarEventIndex` rows exist for this resource, when the series runs past the expansion horizon and the index is therefore incomplete. `""` when the index is exhaustive — a single event, or a series that ends inside the horizon. A later live-expansion pass reads this to find the resources whose instances it must compute rather than query.
5096
+ */
5097
+ expandedThrough: String64;
5098
+ createdAt: number;
5099
+ updatedAt: number;
5100
+ }
5101
+ /**
5102
+ * One occurrence of a CalendarObject, flattened so a date range can be queried
5103
+ instead of expanded (issue #15). Every row is derived from
5104
+ `CalendarObject.icalData` and is replaced wholesale whenever that resource is
5105
+ written — nothing here is authoritative, and nothing writes here alone.
5106
+
5107
+ `recurrenceId` is `""` for a resource that does not recur — its one row. A
5108
+ resource that does recur has no `""` row at all: every occurrence carries its
5109
+ own RECURRENCE-ID slot, the first one included, so an occurrence is
5110
+ addressable without a caller having to know whether it happened to be the
5111
+ series' first. It is part of the sort key, so it can never be absent — an
5112
+ optional value there would make the index sparse and hide the single-event
5113
+ row from the range read that has to return it.
5114
+
5115
+ Times here are UTC instants, unlike `CalendarObject.dtStart`, which carries
5116
+ the event's own offset. The two are different jobs: `dtStart` is the value a
5117
+ client displays, and a fixed-width UTC instant is the only form in which a
5118
+ sort key orders correctly — comparing offset-bearing strings would sort
5119
+ `09:00+02:00` after `09:00Z`, and a range read would silently drop
5120
+ occurrences from every zone but its own.
5121
+ */
5122
+ export interface CalendarEventIndex {
5123
+ /**
5124
+ * Collection this occurrence belongs to
5125
+ */
5126
+ calendarId: UUID;
5127
+ /**
5128
+ * Resource this occurrence was expanded from
5129
+ */
5130
+ calendarObjectId: UUID;
5131
+ /**
5132
+ * RECURRENCE-ID of this occurrence as an ISO 8601 UTC instant, or `""` for the one row of a resource that does not recur. Canonicalized to UTC by the same rule the expansion uses, so an override's RECURRENCE-ID and the occurrence it replaces resolve to the same value.
5133
+ */
5134
+ recurrenceId: String64;
5135
+ /**
5136
+ * When this occurrence starts, as an ISO 8601 UTC instant. An all-day occurrence starts at midnight of its civil date read in the collection's timezone.
5137
+ */
5138
+ startAt: String64;
5139
+ /**
5140
+ * When this occurrence ends, as an ISO 8601 UTC instant. Exclusive for an all-day occurrence, per RFC 5545 3.6.1.
5141
+ */
5142
+ endAt: String64;
5143
+ /**
5144
+ * Whether this occurrence is all-day, copied from the resource it came from so a range read never has to join back to it. A client renders an all-day occurrence as the civil date its start falls on in the collection's timezone, not as the instant stored here.
5145
+ */
5146
+ allDay: boolean;
5147
+ createdAt: number;
5148
+ updatedAt: number;
5149
+ }
4723
5150
  /**
4724
5151
  * Junction whose existence *is* a label assignment (RFC 030). Holds only ids
4725
5152
  and is hydrated with `batchGet`. Keyed by a deterministic UUID v5 derived
@@ -4849,6 +5276,14 @@ declare namespace Paths {
4849
5276
  export type $200 = void;
4850
5277
  }
4851
5278
  }
5279
+ namespace ImportConfig {
5280
+ export type RequestBody = Components.Schemas.ImportConfigInput;
5281
+ namespace Responses {
5282
+ export type $200 = void;
5283
+ export type $400 = void;
5284
+ export type $409 = void;
5285
+ }
5286
+ }
4852
5287
  namespace GetSystemUpdate {
4853
5288
  export interface QueryParameters {
4854
5289
  refresh?: boolean;
@@ -5402,6 +5837,14 @@ export interface OperationMethods {
5402
5837
  data?: any,
5403
5838
  config?: AxiosRequestConfig
5404
5839
  ): OperationResponse<Paths.ExportConfig.Responses.$200>;
5840
+ /**
5841
+ * importConfig - Validate, or validate and apply, a config document. `mode: validate` (the default) writes nothing and returns the same report an apply would. `onExisting: abort` (the default) refuses with 409 when this configuration already holds accounts, labels, filters or address flags. Nothing is written until the whole document has validated; a write failure after that aborts the remainder and the report names exactly what landed. Imported accounts arrive inactive with `connectionState: credentials_missing` (or `reauth_required` for OAuth) - the credentials the file deliberately omits are re-entered per account afterwards.
5842
+ */
5843
+ 'importConfig'(
5844
+ parameters?: Parameters<UnknownParamsObject> | null,
5845
+ data?: Paths.ImportConfig.RequestBody,
5846
+ config?: AxiosRequestConfig
5847
+ ): OperationResponse<Paths.ImportConfig.Responses.$200>;
5405
5848
  /**
5406
5849
  * getSystemUpdate - Read the self-update resource: the running version, the outcome of the most recent manifest check, and the state of the current or last run. With `refresh=true`, records a check request on the control volume for the updater to pick up and answers with the stored state as it stands; the caller watches `check.lastCheckedAt` for the updater's answer. Owner-only, and absent (404) unless a manifest URL is configured (RFC 037 D7, D8).
5407
5850
  */
@@ -5939,6 +6382,16 @@ export interface PathsDictionary {
5939
6382
  config?: AxiosRequestConfig
5940
6383
  ): OperationResponse<Paths.ExportConfig.Responses.$200>;
5941
6384
  };
6385
+ ['/config/import']: {
6386
+ /**
6387
+ * importConfig - Validate, or validate and apply, a config document. `mode: validate` (the default) writes nothing and returns the same report an apply would. `onExisting: abort` (the default) refuses with 409 when this configuration already holds accounts, labels, filters or address flags. Nothing is written until the whole document has validated; a write failure after that aborts the remainder and the report names exactly what landed. Imported accounts arrive inactive with `connectionState: credentials_missing` (or `reauth_required` for OAuth) - the credentials the file deliberately omits are re-entered per account afterwards.
6388
+ */
6389
+ 'post'(
6390
+ parameters?: Parameters<UnknownParamsObject> | null,
6391
+ data?: Paths.ImportConfig.RequestBody,
6392
+ config?: AxiosRequestConfig
6393
+ ): OperationResponse<Paths.ImportConfig.Responses.$200>;
6394
+ };
5942
6395
  ['/system/update']: {
5943
6396
  /**
5944
6397
  * getSystemUpdate - Read the self-update resource: the running version, the outcome of the most recent manifest check, and the state of the current or last run. With `refresh=true`, records a check request on the control volume for the updater to pick up and answers with the stored state as it stands; the caller watches `check.lastCheckedAt` for the updater's answer. Owner-only, and absent (404) unless a manifest URL is configured (RFC 037 D7, D8).
@@ -6522,7 +6975,12 @@ export type AccountResponse = Components.Schemas.AccountResponse;
6522
6975
  export type AddressFlagBase = Components.Schemas.AddressFlagBase;
6523
6976
  export type MutedFlag = Components.Schemas.MutedFlag;
6524
6977
  export type FolderAppointment = Components.Schemas.FolderAppointment;
6978
+ export type PendingConfigImport = Components.Schemas.PendingConfigImport;
6525
6979
  export type ConfigExportResponse = Components.Schemas.ConfigExportResponse;
6980
+ export type ImportConfigInput = Components.Schemas.ImportConfigInput;
6981
+ export type ConfigImportReport = Components.Schemas.ConfigImportReport;
6982
+ export type ConfigImportItemReport = Components.Schemas.ConfigImportItemReport;
6983
+ export type ConfigImportConflict = Components.Schemas.ConfigImportConflict;
6526
6984
  export type SystemUpdateResponse = Components.Schemas.SystemUpdateResponse;
6527
6985
  export type SystemUpdateCheck = Components.Schemas.SystemUpdateCheck;
6528
6986
  export type SystemUpdateRun = Components.Schemas.SystemUpdateRun;
@@ -6611,6 +7069,8 @@ export type UpdateMessageLabelsInput = Components.Schemas.UpdateMessageLabelsInp
6611
7069
  export type SpamReportBulkResult = Components.Schemas.SpamReportBulkResult;
6612
7070
  export type SpamReportFailure = Components.Schemas.SpamReportFailure;
6613
7071
  export type EnvelopeAddress = Components.Schemas.EnvelopeAddress;
7072
+ export type ConfigImportUnresolvedRef = Components.Schemas.ConfigImportUnresolvedRef;
7073
+ export type ConfigImport = Components.Schemas.ConfigImport;
6614
7074
  export type AccountSettingValue = Components.Schemas.AccountSettingValue;
6615
7075
  export type BooleanSetting = Components.Schemas.BooleanSetting;
6616
7076
  export type StringSetting = Components.Schemas.StringSetting;
@@ -6632,6 +7092,9 @@ export type BodyPartParameter = Components.Schemas.BodyPartParameter;
6632
7092
  export type RawMessageStorage = Components.Schemas.RawMessageStorage;
6633
7093
  export type BodyPartStorage = Components.Schemas.BodyPartStorage;
6634
7094
  export type BodyPartContent = Components.Schemas.BodyPartContent;
7095
+ export type CalendarCollection = Components.Schemas.CalendarCollection;
7096
+ export type CalendarObject = Components.Schemas.CalendarObject;
7097
+ export type CalendarEventIndex = Components.Schemas.CalendarEventIndex;
6635
7098
  export type MessageLabel = Components.Schemas.MessageLabel;
6636
7099
  export type FilterAnchor = Components.Schemas.FilterAnchor;
6637
7100
  export type MicrosoftOAuthStartRequest = Components.Schemas.MicrosoftOAuthStartRequest;
@@ -6646,6 +7109,8 @@ export type AccountAuthType = Components.Schemas.AccountAuthType;
6646
7109
  export type ConnectionState = Components.Schemas.ConnectionState;
6647
7110
  export type SyncPhase = Components.Schemas.SyncPhase;
6648
7111
  export type FolderAppointmentSource = Components.Schemas.FolderAppointmentSource;
7112
+ export type ConfigImportMode = Components.Schemas.ConfigImportMode;
7113
+ export type ConfigImportOnExisting = Components.Schemas.ConfigImportOnExisting;
6649
7114
  export type SystemUpdateCheckStatus = Components.Schemas.SystemUpdateCheckStatus;
6650
7115
  export type SystemUpdatePhase = Components.Schemas.SystemUpdatePhase;
6651
7116
  export type SystemUpdateOutcome = Components.Schemas.SystemUpdateOutcome;
@@ -6687,6 +7152,14 @@ export type MailboxAttribute = Components.Schemas.MailboxAttribute;
6687
7152
  export type StorageType = Components.Schemas.StorageType;
6688
7153
  export type ContentEncoding = Components.Schemas.ContentEncoding;
6689
7154
  export type AccountSettingName = Components.Schemas.AccountSettingName;
7155
+ export type ConfigImportState = Components.Schemas.ConfigImportState;
7156
+ export type ConfigImportRefKind = Components.Schemas.ConfigImportRefKind;
7157
+ export type CalendarColor = Components.Schemas.CalendarColor;
7158
+ export type CalendarComponentSet = Components.Schemas.CalendarComponentSet;
7159
+ export type CalendarSource = Components.Schemas.CalendarSource;
7160
+ export type CalendarEventStatus = Components.Schemas.CalendarEventStatus;
7161
+ export type CalendarTransparency = Components.Schemas.CalendarTransparency;
7162
+ export type ZoneCertainty = Components.Schemas.ZoneCertainty;
6690
7163
  export type MessagePlacementMoveState = Components.Schemas.MessagePlacementMoveState;
6691
7164
  export type FlagPushOperation = Components.Schemas.FlagPushOperation;
6692
7165
  export type MessageFlagPushState = Components.Schemas.MessageFlagPushState;