@d19n/youfibre-odin-sdk 2.0.13-beta.1 → 2.0.13

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 (239) hide show
  1. package/README.md +11 -10
  2. package/dist/actions-v2/CreateOrderFromBrskDto.d.ts +75 -0
  3. package/dist/actions-v2/CreateOrderItemFromBrskDto.d.ts +191 -0
  4. package/dist/actions-v2/CreateOrderItemFromBrskDto.js +52 -0
  5. package/dist/entities-v2/Order.d.ts +7 -0
  6. package/dist/entities-v2/Order.js +2 -0
  7. package/dist/entities-v2/OrderItem.d.ts +7 -0
  8. package/dist/entities-v2/OrderItem.js +2 -0
  9. package/dist/entities-v2/Product.d.ts +0 -42
  10. package/dist/entities-v2/Product.js +0 -2
  11. package/dist/records-v2/AccountCreditRecord.d.ts +62 -1
  12. package/dist/records-v2/AccountCreditRecord.js +91 -0
  13. package/dist/records-v2/AccountRecord.d.ts +306 -2
  14. package/dist/records-v2/AccountRecord.js +451 -0
  15. package/dist/records-v2/ActivityLogRecord.d.ts +122 -1
  16. package/dist/records-v2/ActivityLogRecord.js +190 -0
  17. package/dist/records-v2/ActivityRecord.d.ts +255 -2
  18. package/dist/records-v2/ActivityRecord.js +387 -0
  19. package/dist/records-v2/AddressRecord.d.ts +321 -0
  20. package/dist/records-v2/AddressRecord.js +532 -0
  21. package/dist/records-v2/AffiliateCodeRecord.d.ts +102 -1
  22. package/dist/records-v2/AffiliateCodeRecord.js +157 -0
  23. package/dist/records-v2/AppointmentRecord.d.ts +141 -0
  24. package/dist/records-v2/AppointmentRecord.js +235 -0
  25. package/dist/records-v2/BillingAdjustmentRecord.d.ts +81 -0
  26. package/dist/records-v2/BillingAdjustmentRecord.js +136 -0
  27. package/dist/records-v2/BillingRequestRecord.d.ts +178 -2
  28. package/dist/records-v2/BillingRequestRecord.js +271 -0
  29. package/dist/records-v2/BlockageA55Record.d.ts +103 -2
  30. package/dist/records-v2/BlockageA55Record.js +157 -0
  31. package/dist/records-v2/BrskEntityMigrationErrorRecord.d.ts +21 -1
  32. package/dist/records-v2/BrskEntityMigrationErrorRecord.js +21 -0
  33. package/dist/records-v2/CallEventRecord.d.ts +82 -1
  34. package/dist/records-v2/CallEventRecord.js +124 -0
  35. package/dist/records-v2/CallLegRecord.d.ts +82 -1
  36. package/dist/records-v2/CallLegRecord.js +124 -0
  37. package/dist/records-v2/CallRecord.d.ts +202 -1
  38. package/dist/records-v2/CallRecord.js +322 -0
  39. package/dist/records-v2/CallTransferRecord.d.ts +102 -1
  40. package/dist/records-v2/CallTransferRecord.js +157 -0
  41. package/dist/records-v2/CampaignRecord.d.ts +83 -2
  42. package/dist/records-v2/CampaignRecord.js +124 -0
  43. package/dist/records-v2/CaseRecord.d.ts +418 -2
  44. package/dist/records-v2/CaseRecord.js +667 -0
  45. package/dist/records-v2/ChangeReasonRecord.d.ts +171 -2
  46. package/dist/records-v2/ChangeReasonRecord.js +238 -0
  47. package/dist/records-v2/ChurnRequestRecord.d.ts +62 -1
  48. package/dist/records-v2/ChurnRequestRecord.js +91 -0
  49. package/dist/records-v2/ContactRecord.d.ts +560 -0
  50. package/dist/records-v2/ContactRecord.js +927 -0
  51. package/dist/records-v2/ContractBuyOutRecord.d.ts +162 -1
  52. package/dist/records-v2/ContractBuyOutRecord.js +256 -0
  53. package/dist/records-v2/ConversationFeedbackRecord.d.ts +102 -1
  54. package/dist/records-v2/ConversationFeedbackRecord.js +157 -0
  55. package/dist/records-v2/ConversationRecord.d.ts +102 -1
  56. package/dist/records-v2/ConversationRecord.js +157 -0
  57. package/dist/records-v2/CreditNoteRecord.d.ts +81 -0
  58. package/dist/records-v2/CreditNoteRecord.js +136 -0
  59. package/dist/records-v2/CrmDatasetRecord.d.ts +191 -2
  60. package/dist/records-v2/CrmDatasetRecord.js +271 -0
  61. package/dist/records-v2/CustomerDeviceAtaRecord.d.ts +21 -0
  62. package/dist/records-v2/CustomerDeviceAtaRecord.js +37 -0
  63. package/dist/records-v2/CustomerDeviceConfigurationRecord.d.ts +62 -1
  64. package/dist/records-v2/CustomerDeviceConfigurationRecord.js +91 -0
  65. package/dist/records-v2/CustomerDeviceOntRecord.d.ts +181 -0
  66. package/dist/records-v2/CustomerDeviceOntRecord.js +301 -0
  67. package/dist/records-v2/CustomerDeviceRouterRecord.d.ts +141 -0
  68. package/dist/records-v2/CustomerDeviceRouterRecord.js +235 -0
  69. package/dist/records-v2/CustomerPhonePortingRecord.d.ts +21 -0
  70. package/dist/records-v2/CustomerPhonePortingRecord.js +37 -0
  71. package/dist/records-v2/DiscountRecord.d.ts +121 -0
  72. package/dist/records-v2/DiscountRecord.js +202 -0
  73. package/dist/records-v2/EmailRecord.d.ts +230 -2
  74. package/dist/records-v2/EmailRecord.js +336 -0
  75. package/dist/records-v2/EmailSenderRecord.d.ts +42 -1
  76. package/dist/records-v2/EmailSenderRecord.js +58 -0
  77. package/dist/records-v2/EmailTemplateRecord.d.ts +21 -1
  78. package/dist/records-v2/EmailTemplateRecord.js +21 -0
  79. package/dist/records-v2/FieldServiceDispatchedProductRecord.d.ts +135 -2
  80. package/dist/records-v2/FieldServiceDispatchedProductRecord.js +189 -0
  81. package/dist/records-v2/FieldServiceProductRecord.d.ts +115 -2
  82. package/dist/records-v2/FieldServiceProductRecord.js +156 -0
  83. package/dist/records-v2/FileRecord.d.ts +1211 -2
  84. package/dist/records-v2/FileRecord.js +1902 -0
  85. package/dist/records-v2/ImpersonationTrackerRecord.d.ts +62 -1
  86. package/dist/records-v2/ImpersonationTrackerRecord.js +91 -0
  87. package/dist/records-v2/InternalInstallAuditRecord.d.ts +83 -2
  88. package/dist/records-v2/InternalInstallAuditRecord.js +124 -0
  89. package/dist/records-v2/InvoiceItemRecord.d.ts +40 -0
  90. package/dist/records-v2/InvoiceItemRecord.js +69 -0
  91. package/dist/records-v2/InvoiceRecord.d.ts +399 -2
  92. package/dist/records-v2/InvoiceRecord.js +635 -0
  93. package/dist/records-v2/KnowledgeArticleRecord.d.ts +98 -2
  94. package/dist/records-v2/KnowledgeArticleRecord.js +139 -0
  95. package/dist/records-v2/LeadRecord.d.ts +261 -0
  96. package/dist/records-v2/LeadRecord.js +433 -0
  97. package/dist/records-v2/MessageRecord.d.ts +99 -2
  98. package/dist/records-v2/MessageRecord.js +140 -0
  99. package/dist/records-v2/NetworkDeviceRecord.d.ts +43 -2
  100. package/dist/records-v2/NetworkDeviceRecord.js +58 -0
  101. package/dist/records-v2/NoteRecord.d.ts +1121 -1
  102. package/dist/records-v2/NoteRecord.js +1839 -0
  103. package/dist/records-v2/OfferRecord.d.ts +154 -2
  104. package/dist/records-v2/OfferRecord.js +221 -0
  105. package/dist/records-v2/OhAuditOfInstallationRecord.d.ts +83 -2
  106. package/dist/records-v2/OhAuditOfInstallationRecord.js +124 -0
  107. package/dist/records-v2/OhExternalAuditRecord.d.ts +83 -2
  108. package/dist/records-v2/OhExternalAuditRecord.js +124 -0
  109. package/dist/records-v2/OhInProgressAuditRecord.d.ts +83 -2
  110. package/dist/records-v2/OhInProgressAuditRecord.js +124 -0
  111. package/dist/records-v2/OhInstallationAuditRecord.d.ts +83 -2
  112. package/dist/records-v2/OhInstallationAuditRecord.js +124 -0
  113. package/dist/records-v2/OhRetroAuditRecord.d.ts +83 -2
  114. package/dist/records-v2/OhRetroAuditRecord.js +124 -0
  115. package/dist/records-v2/OneTouchSwitchRecord.d.ts +255 -2
  116. package/dist/records-v2/OneTouchSwitchRecord.js +387 -0
  117. package/dist/records-v2/OntReplacementApprovalRecord.d.ts +62 -1
  118. package/dist/records-v2/OntReplacementApprovalRecord.js +91 -0
  119. package/dist/records-v2/OrderCheckRecord.d.ts +21 -0
  120. package/dist/records-v2/OrderCheckRecord.js +37 -0
  121. package/dist/records-v2/OrderItemRecord.d.ts +309 -0
  122. package/dist/records-v2/OrderItemRecord.js +501 -0
  123. package/dist/records-v2/OrderKciRecord.d.ts +42 -1
  124. package/dist/records-v2/OrderKciRecord.js +58 -0
  125. package/dist/records-v2/OrderRecord.d.ts +620 -0
  126. package/dist/records-v2/OrderRecord.js +1026 -0
  127. package/dist/records-v2/OutageRecord.d.ts +42 -1
  128. package/dist/records-v2/OutageRecord.js +58 -0
  129. package/dist/records-v2/OverlayRealA55Record.d.ts +83 -2
  130. package/dist/records-v2/OverlayRealA55Record.js +124 -0
  131. package/dist/records-v2/PICRequestRecord.d.ts +62 -1
  132. package/dist/records-v2/PICRequestRecord.js +91 -0
  133. package/dist/records-v2/PaymentMethodRecord.d.ts +121 -0
  134. package/dist/records-v2/PaymentMethodRecord.js +202 -0
  135. package/dist/records-v2/PaymentMethodRefundRecord.d.ts +181 -0
  136. package/dist/records-v2/PaymentMethodRefundRecord.js +301 -0
  137. package/dist/records-v2/PaymentRecord.d.ts +82 -1
  138. package/dist/records-v2/PaymentRecord.js +124 -0
  139. package/dist/records-v2/PermissionToFailRecord.d.ts +61 -0
  140. package/dist/records-v2/PermissionToFailRecord.js +103 -0
  141. package/dist/records-v2/PgAccountValidationRecord.d.ts +21 -1
  142. package/dist/records-v2/PgAccountValidationRecord.js +21 -0
  143. package/dist/records-v2/PgContactRecord.d.ts +62 -1
  144. package/dist/records-v2/PgContactRecord.js +91 -0
  145. package/dist/records-v2/PgDirectDebitFileRecord.d.ts +95 -2
  146. package/dist/records-v2/PgDirectDebitFileRecord.js +123 -0
  147. package/dist/records-v2/PgDisputeRecord.d.ts +62 -1
  148. package/dist/records-v2/PgDisputeRecord.js +91 -0
  149. package/dist/records-v2/PgFileAllocationRecord.d.ts +115 -2
  150. package/dist/records-v2/PgFileAllocationRecord.js +156 -0
  151. package/dist/records-v2/PgLogRecord.d.ts +21 -1
  152. package/dist/records-v2/PgLogRecord.js +21 -0
  153. package/dist/records-v2/PgPaymentMethodRecord.d.ts +102 -1
  154. package/dist/records-v2/PgPaymentMethodRecord.js +157 -0
  155. package/dist/records-v2/PgSortCodeSubstitutionRecord.d.ts +21 -1
  156. package/dist/records-v2/PgSortCodeSubstitutionRecord.js +21 -0
  157. package/dist/records-v2/PgTransactionRecord.d.ts +135 -2
  158. package/dist/records-v2/PgTransactionRecord.js +189 -0
  159. package/dist/records-v2/PgVocalinkRecord.d.ts +21 -1
  160. package/dist/records-v2/PgVocalinkRecord.js +21 -0
  161. package/dist/records-v2/PgWebhookAttemptRecord.d.ts +42 -1
  162. package/dist/records-v2/PgWebhookAttemptRecord.js +58 -0
  163. package/dist/records-v2/PgWebhookRecord.d.ts +122 -1
  164. package/dist/records-v2/PgWebhookRecord.js +190 -0
  165. package/dist/records-v2/PhoneNumberRecord.d.ts +41 -0
  166. package/dist/records-v2/PhoneNumberRecord.js +70 -0
  167. package/dist/records-v2/PriceBookRecord.d.ts +21 -0
  168. package/dist/records-v2/PriceBookRecord.js +37 -0
  169. package/dist/records-v2/ProductRecord.d.ts +258 -2
  170. package/dist/records-v2/ProductRecord.js +351 -0
  171. package/dist/records-v2/PushNotificationRecord.d.ts +162 -1
  172. package/dist/records-v2/PushNotificationRecord.js +256 -0
  173. package/dist/records-v2/ReferralRecord.d.ts +143 -2
  174. package/dist/records-v2/ReferralRecord.js +223 -0
  175. package/dist/records-v2/RemediationOutcomeFormRecord.d.ts +83 -2
  176. package/dist/records-v2/RemediationOutcomeFormRecord.js +124 -0
  177. package/dist/records-v2/RemediationRequiredReasonRecord.d.ts +103 -2
  178. package/dist/records-v2/RemediationRequiredReasonRecord.js +157 -0
  179. package/dist/records-v2/ReturnsRecord.d.ts +62 -1
  180. package/dist/records-v2/ReturnsRecord.js +91 -0
  181. package/dist/records-v2/RewardRecord.d.ts +123 -2
  182. package/dist/records-v2/RewardRecord.js +190 -0
  183. package/dist/records-v2/SalesTerritoryRecord.d.ts +79 -2
  184. package/dist/records-v2/SalesTerritoryRecord.js +107 -0
  185. package/dist/records-v2/ScheduleSlotRecord.d.ts +42 -1
  186. package/dist/records-v2/ScheduleSlotRecord.js +58 -0
  187. package/dist/records-v2/ServiceAppointmentConfigRecord.d.ts +287 -2
  188. package/dist/records-v2/ServiceAppointmentConfigRecord.js +367 -0
  189. package/dist/records-v2/ServiceAppointmentRecord.d.ts +81 -0
  190. package/dist/records-v2/ServiceAppointmentRecord.js +136 -0
  191. package/dist/records-v2/ServiceRecord.d.ts +40 -0
  192. package/dist/records-v2/ServiceRecord.js +69 -0
  193. package/dist/records-v2/ServiceVisitAuditRecord.d.ts +83 -2
  194. package/dist/records-v2/ServiceVisitAuditRecord.js +124 -0
  195. package/dist/records-v2/SiteSpecificRiskAssessmentOutcomeFormRecord.d.ts +83 -2
  196. package/dist/records-v2/SiteSpecificRiskAssessmentOutcomeFormRecord.js +124 -0
  197. package/dist/records-v2/SmsMessageRecord.d.ts +175 -2
  198. package/dist/records-v2/SmsMessageRecord.js +255 -0
  199. package/dist/records-v2/SweeperMaintenanceAuditRecord.d.ts +83 -2
  200. package/dist/records-v2/SweeperMaintenanceAuditRecord.js +124 -0
  201. package/dist/records-v2/TeamRecord.d.ts +101 -0
  202. package/dist/records-v2/TeamRecord.js +169 -0
  203. package/dist/records-v2/TestEntityForVisualBuilderRecord.d.ts +115 -2
  204. package/dist/records-v2/TestEntityForVisualBuilderRecord.js +156 -0
  205. package/dist/records-v2/TimeSlotRecord.d.ts +21 -0
  206. package/dist/records-v2/TimeSlotRecord.js +37 -0
  207. package/dist/records-v2/TransactionRecord.d.ts +181 -1
  208. package/dist/records-v2/TransactionRecord.js +288 -0
  209. package/dist/records-v2/TwilioUserUpdateRecord.d.ts +42 -1
  210. package/dist/records-v2/TwilioUserUpdateRecord.js +58 -0
  211. package/dist/records-v2/UgAuditOfInstallationRecord.d.ts +83 -2
  212. package/dist/records-v2/UgAuditOfInstallationRecord.js +124 -0
  213. package/dist/records-v2/UgExternalAuditRecord.d.ts +83 -2
  214. package/dist/records-v2/UgExternalAuditRecord.js +124 -0
  215. package/dist/records-v2/UgInProgressAuditRecord.d.ts +83 -2
  216. package/dist/records-v2/UgInProgressAuditRecord.js +124 -0
  217. package/dist/records-v2/UgInstallationAuditRecord.d.ts +83 -2
  218. package/dist/records-v2/UgInstallationAuditRecord.js +124 -0
  219. package/dist/records-v2/UgRetroAuditRecord.d.ts +83 -2
  220. package/dist/records-v2/UgRetroAuditRecord.js +124 -0
  221. package/dist/records-v2/UserRecord.d.ts +400 -0
  222. package/dist/records-v2/UserRecord.js +663 -0
  223. package/dist/records-v2/VisitRecord.d.ts +121 -0
  224. package/dist/records-v2/VisitRecord.js +202 -0
  225. package/dist/records-v2/VoiceConfigurationRecord.d.ts +21 -0
  226. package/dist/records-v2/VoiceConfigurationRecord.js +37 -0
  227. package/dist/records-v2/WayleaveAuditRecord.d.ts +83 -2
  228. package/dist/records-v2/WayleaveAuditRecord.js +124 -0
  229. package/dist/records-v2/WorkOrderRecord.d.ts +1226 -2
  230. package/dist/records-v2/WorkOrderRecord.js +1865 -0
  231. package/dist/records-v2/WorkOrderStatusUpdateRecord.d.ts +75 -2
  232. package/dist/records-v2/WorkOrderStatusUpdateRecord.js +90 -0
  233. package/dist/records-v2/YfFieldServiceVisitRecord.d.ts +83 -2
  234. package/dist/records-v2/YfFieldServiceVisitRecord.js +124 -0
  235. package/dist/records-v2/YfStockAuditRecord.d.ts +103 -2
  236. package/dist/records-v2/YfStockAuditRecord.js +157 -0
  237. package/dist/records-v2/index.d.ts +1 -1
  238. package/dist/records-v2/index.js +5 -5
  239. package/package.json +1 -1
@@ -13,13 +13,16 @@
13
13
  * await record.createInvoice({ ... }).execute();
14
14
  * ```
15
15
  *
16
+ * Entity Types: DEFAULT, ETF
17
+ *
16
18
  * AUTO-GENERATED - DO NOT EDIT DIRECTLY
17
19
  */
18
20
  import { OdinRecord, OdinRecordLinkDto } from '@d19n/odin-types/dist/core';
19
21
  import { PipelineStageEntity } from '@d19n/odin-types/dist/core';
20
22
  import { IDbRecordCreateUpdateRes } from '@d19n/odin-types/dist/core/interfaces/v1.db.interfaces';
21
23
  import { IOdinProvider } from '@d19n/odin-sdk-generator/dist/odin-sdk-types';
22
- import { InvoiceProperties } from '../entities-v2/Invoice';
24
+ import { RecordLinkManager } from '@d19n/odin-sdk-generator/dist/record-link-manager';
25
+ import { InvoiceProperties, EtfInvoiceProperties } from '../entities-v2/Invoice';
23
26
  import { InvoiceCreateProperties } from '../actions-v2/InvoiceCreateDto';
24
27
  import { InvoiceUpdateProperties } from '../actions-v2/InvoiceUpdateDto';
25
28
  import { SetInvoiceDunningBrqRequestProperties } from '../actions-v2/SetInvoiceDunningBrqRequestDto';
@@ -28,6 +31,26 @@ import { SetInvoiceDunningPaymentFailedProperties } from '../actions-v2/SetInvoi
28
31
  import { SetInvoiceFinalDunningReminderProperties } from '../actions-v2/SetInvoiceFinalDunningReminderDto';
29
32
  import { SetInvoiceInitialDunningReminderProperties } from '../actions-v2/SetInvoiceInitialDunningReminderDto';
30
33
  import { SetInvoicePaidFromOtpProperties } from '../actions-v2/SetInvoicePaidFromOtpDto';
34
+ import { OrderRecord } from './OrderRecord';
35
+ import { AccountRecord } from './AccountRecord';
36
+ import { AddressRecord } from './AddressRecord';
37
+ import { OneTouchSwitchRecord } from './OneTouchSwitchRecord';
38
+ import { BillingRequestRecord } from './BillingRequestRecord';
39
+ import { ContactRecord } from './ContactRecord';
40
+ import { WorkOrderRecord } from './WorkOrderRecord';
41
+ import { PaymentRecord } from './PaymentRecord';
42
+ import { SmsMessageRecord } from './SmsMessageRecord';
43
+ import { CreditNoteRecord } from './CreditNoteRecord';
44
+ import { DiscountRecord } from './DiscountRecord';
45
+ import { PaymentMethodRefundRecord } from './PaymentMethodRefundRecord';
46
+ import { BillingAdjustmentRecord } from './BillingAdjustmentRecord';
47
+ import { FileRecord } from './FileRecord';
48
+ import { InvoiceItemRecord } from './InvoiceItemRecord';
49
+ import { NoteRecord } from './NoteRecord';
50
+ import { TransactionRecord } from './TransactionRecord';
51
+ import { AccountCreditRecord } from './AccountCreditRecord';
52
+ /** Valid entity types for Invoice */
53
+ export declare type InvoiceType = 'DEFAULT' | 'ETF';
31
54
  /**
32
55
  * Builder for action execution with dryRun support
33
56
  *
@@ -91,6 +114,24 @@ export declare class InvoiceRecord<TProps = InvoiceProperties> {
91
114
  private _provider;
92
115
  private _pendingLinks;
93
116
  private _preGeneratedId;
117
+ private _orders?;
118
+ private _accounts?;
119
+ private _addresses?;
120
+ private _oneTouchSwitches?;
121
+ private _billingRequests?;
122
+ private _contacts?;
123
+ private _workOrders?;
124
+ private _payments?;
125
+ private _smsMessages?;
126
+ private _creditNotes?;
127
+ private _discounts?;
128
+ private _paymentMethodRefunds?;
129
+ private _billingAdjustments?;
130
+ private _files?;
131
+ private _invoiceItems?;
132
+ private _notes?;
133
+ private _transactions?;
134
+ private _accountCredits?;
94
135
  /**
95
136
  * Create a record wrapper.
96
137
  * @param record - The underlying record, or null for create operations
@@ -103,7 +144,7 @@ export declare class InvoiceRecord<TProps = InvoiceProperties> {
103
144
  /** Record ID - always available (pre-generated for new records) */
104
145
  get id(): string;
105
146
  get entity(): string;
106
- get type(): string | undefined;
147
+ get type(): InvoiceType | undefined;
107
148
  /** Record properties - empty object for new (unsaved) records */
108
149
  get properties(): TProps;
109
150
  get title(): string | undefined;
@@ -116,6 +157,362 @@ export declare class InvoiceRecord<TProps = InvoiceProperties> {
116
157
  get groups(): string[];
117
158
  /** Access the underlying OdinRecord (null for new records) */
118
159
  get record(): OdinRecord<TProps> | null;
160
+ /**
161
+ * Type guard: check if this record is of type DEFAULT
162
+ *
163
+ * When this returns true, TypeScript automatically narrows the type,
164
+ * giving you access to DEFAULT-specific properties.
165
+ *
166
+ * @example
167
+ * ```typescript
168
+ * if (record.isDefault()) {
169
+ * // TypeScript knows record.properties is InvoiceProperties
170
+ * console.log(record.properties.SomeTypeSpecificField);
171
+ * }
172
+ * ```
173
+ * @remarks This is the default record type
174
+ */
175
+ isDefault(): this is InvoiceRecord<InvoiceProperties>;
176
+ /**
177
+ * Type guard: check if this record is of type ETF
178
+ *
179
+ * When this returns true, TypeScript automatically narrows the type,
180
+ * giving you access to ETF-specific properties.
181
+ *
182
+ * @example
183
+ * ```typescript
184
+ * if (record.isEtf()) {
185
+ * // TypeScript knows record.properties is EtfInvoiceProperties
186
+ * console.log(record.properties.SomeTypeSpecificField);
187
+ * }
188
+ * ```
189
+ * @remarks Early Termination Fee Invoices
190
+ */
191
+ isEtf(): this is InvoiceRecord<EtfInvoiceProperties>;
192
+ /** Valid labels for Order associations */
193
+ static readonly ordersLabels: readonly ["Order__Invoice"];
194
+ /**
195
+ * Access linked Order records
196
+ * @remarks Available labels: Order__Invoice
197
+ * @throws Error if called on a new (unsaved) record
198
+ *
199
+ * @example
200
+ * ```typescript
201
+ * // Get all linked Order records
202
+ * const items = await record.orders.list();
203
+ * const first = await record.orders.first();
204
+ *
205
+ * // Filter by label
206
+ * const specific = await record.orders.first({ label: 'Order__Invoice' });
207
+ * ```
208
+ */
209
+ get orders(): RecordLinkManager<OrderRecord, typeof InvoiceRecord['ordersLabels'][number]>;
210
+ /** Valid labels for Account associations */
211
+ static readonly accountsLabels: readonly ["Account__Invoice"];
212
+ /**
213
+ * Access linked Account records
214
+ * @remarks Available labels: Account__Invoice
215
+ * @throws Error if called on a new (unsaved) record
216
+ *
217
+ * @example
218
+ * ```typescript
219
+ * // Get all linked Account records
220
+ * const items = await record.accounts.list();
221
+ * const first = await record.accounts.first();
222
+ *
223
+ * // Filter by label
224
+ * const specific = await record.accounts.first({ label: 'Account__Invoice' });
225
+ * ```
226
+ */
227
+ get accounts(): RecordLinkManager<AccountRecord, typeof InvoiceRecord['accountsLabels'][number]>;
228
+ /** Valid labels for Address associations */
229
+ static readonly addressesLabels: readonly ["Invoice__Address"];
230
+ /**
231
+ * Access linked Address records
232
+ * @remarks Available labels: Invoice__Address
233
+ * @throws Error if called on a new (unsaved) record
234
+ *
235
+ * @example
236
+ * ```typescript
237
+ * // Get all linked Address records
238
+ * const items = await record.addresses.list();
239
+ * const first = await record.addresses.first();
240
+ *
241
+ * // Filter by label
242
+ * const specific = await record.addresses.first({ label: 'Invoice__Address' });
243
+ * ```
244
+ */
245
+ get addresses(): RecordLinkManager<AddressRecord, typeof InvoiceRecord['addressesLabels'][number]>;
246
+ /** Valid labels for OneTouchSwitch associations */
247
+ static readonly oneTouchSwitchesLabels: readonly ["OneTouchSwitch__Invoice"];
248
+ /**
249
+ * Access linked OneTouchSwitch records
250
+ * @remarks Available labels: OneTouchSwitch__Invoice
251
+ * @throws Error if called on a new (unsaved) record
252
+ *
253
+ * @example
254
+ * ```typescript
255
+ * // Get all linked OneTouchSwitch records
256
+ * const items = await record.oneTouchSwitches.list();
257
+ * const first = await record.oneTouchSwitches.first();
258
+ *
259
+ * // Filter by label
260
+ * const specific = await record.oneTouchSwitches.first({ label: 'OneTouchSwitch__Invoice' });
261
+ * ```
262
+ */
263
+ get oneTouchSwitches(): RecordLinkManager<OneTouchSwitchRecord, typeof InvoiceRecord['oneTouchSwitchesLabels'][number]>;
264
+ /** Valid labels for BillingRequest associations */
265
+ static readonly billingRequestsLabels: readonly ["BillingRequest__Invoice"];
266
+ /**
267
+ * Access linked BillingRequest records
268
+ * @remarks Available labels: BillingRequest__Invoice
269
+ * @throws Error if called on a new (unsaved) record
270
+ *
271
+ * @example
272
+ * ```typescript
273
+ * // Get all linked BillingRequest records
274
+ * const items = await record.billingRequests.list();
275
+ * const first = await record.billingRequests.first();
276
+ *
277
+ * // Filter by label
278
+ * const specific = await record.billingRequests.first({ label: 'BillingRequest__Invoice' });
279
+ * ```
280
+ */
281
+ get billingRequests(): RecordLinkManager<BillingRequestRecord, typeof InvoiceRecord['billingRequestsLabels'][number]>;
282
+ /** Valid labels for Contact associations */
283
+ static readonly contactsLabels: readonly ["Invoice__Contact"];
284
+ /**
285
+ * Access linked Contact records
286
+ * @remarks Available labels: Invoice__Contact
287
+ * @throws Error if called on a new (unsaved) record
288
+ *
289
+ * @example
290
+ * ```typescript
291
+ * // Get all linked Contact records
292
+ * const items = await record.contacts.list();
293
+ * const first = await record.contacts.first();
294
+ *
295
+ * // Filter by label
296
+ * const specific = await record.contacts.first({ label: 'Invoice__Contact' });
297
+ * ```
298
+ */
299
+ get contacts(): RecordLinkManager<ContactRecord, typeof InvoiceRecord['contactsLabels'][number]>;
300
+ /** Valid labels for WorkOrder associations */
301
+ static readonly workOrdersLabels: readonly ["WorkOrder__Invoice"];
302
+ /**
303
+ * Access linked WorkOrder records
304
+ * @remarks Available labels: WorkOrder__Invoice
305
+ * @throws Error if called on a new (unsaved) record
306
+ *
307
+ * @example
308
+ * ```typescript
309
+ * // Get all linked WorkOrder records
310
+ * const items = await record.workOrders.list();
311
+ * const first = await record.workOrders.first();
312
+ *
313
+ * // Filter by label
314
+ * const specific = await record.workOrders.first({ label: 'WorkOrder__Invoice' });
315
+ * ```
316
+ */
317
+ get workOrders(): RecordLinkManager<WorkOrderRecord, typeof InvoiceRecord['workOrdersLabels'][number]>;
318
+ /** Valid labels for Payment associations */
319
+ static readonly paymentsLabels: readonly ["Payment_Invoice"];
320
+ /**
321
+ * Access linked Payment records
322
+ * @remarks Available labels: Payment_Invoice
323
+ * @throws Error if called on a new (unsaved) record
324
+ *
325
+ * @example
326
+ * ```typescript
327
+ * // Get all linked Payment records
328
+ * const items = await record.payments.list();
329
+ * const first = await record.payments.first();
330
+ *
331
+ * // Filter by label
332
+ * const specific = await record.payments.first({ label: 'Payment_Invoice' });
333
+ * ```
334
+ */
335
+ get payments(): RecordLinkManager<PaymentRecord, typeof InvoiceRecord['paymentsLabels'][number]>;
336
+ /** Valid labels for SmsMessage associations */
337
+ static readonly smsMessagesLabels: readonly ["Invoice__SmsMessage"];
338
+ /**
339
+ * Access linked SmsMessage records
340
+ * @remarks Available labels: Invoice__SmsMessage
341
+ * @throws Error if called on a new (unsaved) record
342
+ *
343
+ * @example
344
+ * ```typescript
345
+ * // Get all linked SmsMessage records
346
+ * const items = await record.smsMessages.list();
347
+ * const first = await record.smsMessages.first();
348
+ *
349
+ * // Filter by label
350
+ * const specific = await record.smsMessages.first({ label: 'Invoice__SmsMessage' });
351
+ * ```
352
+ */
353
+ get smsMessages(): RecordLinkManager<SmsMessageRecord, typeof InvoiceRecord['smsMessagesLabels'][number]>;
354
+ /** Valid labels for CreditNote associations */
355
+ static readonly creditNotesLabels: readonly ["Invoice__CreditNote"];
356
+ /**
357
+ * Access linked CreditNote records
358
+ * @remarks Available labels: Invoice__CreditNote
359
+ * @throws Error if called on a new (unsaved) record
360
+ *
361
+ * @example
362
+ * ```typescript
363
+ * // Get all linked CreditNote records
364
+ * const items = await record.creditNotes.list();
365
+ * const first = await record.creditNotes.first();
366
+ *
367
+ * // Filter by label
368
+ * const specific = await record.creditNotes.first({ label: 'Invoice__CreditNote' });
369
+ * ```
370
+ */
371
+ get creditNotes(): RecordLinkManager<CreditNoteRecord, typeof InvoiceRecord['creditNotesLabels'][number]>;
372
+ /** Valid labels for Discount associations */
373
+ static readonly discountsLabels: readonly ["Invoice__Discount"];
374
+ /**
375
+ * Access linked Discount records
376
+ * @remarks Available labels: Invoice__Discount
377
+ * @throws Error if called on a new (unsaved) record
378
+ *
379
+ * @example
380
+ * ```typescript
381
+ * // Get all linked Discount records
382
+ * const items = await record.discounts.list();
383
+ * const first = await record.discounts.first();
384
+ *
385
+ * // Filter by label
386
+ * const specific = await record.discounts.first({ label: 'Invoice__Discount' });
387
+ * ```
388
+ */
389
+ get discounts(): RecordLinkManager<DiscountRecord, typeof InvoiceRecord['discountsLabels'][number]>;
390
+ /** Valid labels for PaymentMethodRefund associations */
391
+ static readonly paymentMethodRefundsLabels: readonly ["PaymentMethodRefund__Invoice"];
392
+ /**
393
+ * Access linked PaymentMethodRefund records
394
+ * @remarks Available labels: PaymentMethodRefund__Invoice
395
+ * @throws Error if called on a new (unsaved) record
396
+ *
397
+ * @example
398
+ * ```typescript
399
+ * // Get all linked PaymentMethodRefund records
400
+ * const items = await record.paymentMethodRefunds.list();
401
+ * const first = await record.paymentMethodRefunds.first();
402
+ *
403
+ * // Filter by label
404
+ * const specific = await record.paymentMethodRefunds.first({ label: 'PaymentMethodRefund__Invoice' });
405
+ * ```
406
+ */
407
+ get paymentMethodRefunds(): RecordLinkManager<PaymentMethodRefundRecord, typeof InvoiceRecord['paymentMethodRefundsLabels'][number]>;
408
+ /** Valid labels for BillingAdjustment associations */
409
+ static readonly billingAdjustmentsLabels: readonly ["Invoice__BillingAdjustment"];
410
+ /**
411
+ * Access linked BillingAdjustment records
412
+ * @remarks Available labels: Invoice__BillingAdjustment
413
+ * @throws Error if called on a new (unsaved) record
414
+ *
415
+ * @example
416
+ * ```typescript
417
+ * // Get all linked BillingAdjustment records
418
+ * const items = await record.billingAdjustments.list();
419
+ * const first = await record.billingAdjustments.first();
420
+ *
421
+ * // Filter by label
422
+ * const specific = await record.billingAdjustments.first({ label: 'Invoice__BillingAdjustment' });
423
+ * ```
424
+ */
425
+ get billingAdjustments(): RecordLinkManager<BillingAdjustmentRecord, typeof InvoiceRecord['billingAdjustmentsLabels'][number]>;
426
+ /** Valid labels for File associations */
427
+ static readonly filesLabels: readonly ["Invoice__File"];
428
+ /**
429
+ * Access linked File records
430
+ * @remarks Available labels: Invoice__File
431
+ * @throws Error if called on a new (unsaved) record
432
+ *
433
+ * @example
434
+ * ```typescript
435
+ * // Get all linked File records
436
+ * const items = await record.files.list();
437
+ * const first = await record.files.first();
438
+ *
439
+ * // Filter by label
440
+ * const specific = await record.files.first({ label: 'Invoice__File' });
441
+ * ```
442
+ */
443
+ get files(): RecordLinkManager<FileRecord, typeof InvoiceRecord['filesLabels'][number]>;
444
+ /** Valid labels for InvoiceItem associations */
445
+ static readonly invoiceItemsLabels: readonly ["Invoice__InvoiceItem"];
446
+ /**
447
+ * Access linked InvoiceItem records
448
+ * @remarks Available labels: Invoice__InvoiceItem
449
+ * @throws Error if called on a new (unsaved) record
450
+ *
451
+ * @example
452
+ * ```typescript
453
+ * // Get all linked InvoiceItem records
454
+ * const items = await record.invoiceItems.list();
455
+ * const first = await record.invoiceItems.first();
456
+ *
457
+ * // Filter by label
458
+ * const specific = await record.invoiceItems.first({ label: 'Invoice__InvoiceItem' });
459
+ * ```
460
+ */
461
+ get invoiceItems(): RecordLinkManager<InvoiceItemRecord, typeof InvoiceRecord['invoiceItemsLabels'][number]>;
462
+ /** Valid labels for Note associations */
463
+ static readonly notesLabels: readonly ["Invoice__Note"];
464
+ /**
465
+ * Access linked Note records
466
+ * @remarks Available labels: Invoice__Note
467
+ * @throws Error if called on a new (unsaved) record
468
+ *
469
+ * @example
470
+ * ```typescript
471
+ * // Get all linked Note records
472
+ * const items = await record.notes.list();
473
+ * const first = await record.notes.first();
474
+ *
475
+ * // Filter by label
476
+ * const specific = await record.notes.first({ label: 'Invoice__Note' });
477
+ * ```
478
+ */
479
+ get notes(): RecordLinkManager<NoteRecord, typeof InvoiceRecord['notesLabels'][number]>;
480
+ /** Valid labels for Transaction associations */
481
+ static readonly transactionsLabels: readonly ["Invoice__Transaction"];
482
+ /**
483
+ * Access linked Transaction records
484
+ * @remarks Available labels: Invoice__Transaction
485
+ * @throws Error if called on a new (unsaved) record
486
+ *
487
+ * @example
488
+ * ```typescript
489
+ * // Get all linked Transaction records
490
+ * const items = await record.transactions.list();
491
+ * const first = await record.transactions.first();
492
+ *
493
+ * // Filter by label
494
+ * const specific = await record.transactions.first({ label: 'Invoice__Transaction' });
495
+ * ```
496
+ */
497
+ get transactions(): RecordLinkManager<TransactionRecord, typeof InvoiceRecord['transactionsLabels'][number]>;
498
+ /** Valid labels for AccountCredit associations */
499
+ static readonly accountCreditsLabels: readonly ["AccountCredit__Invoice"];
500
+ /**
501
+ * Access linked AccountCredit records
502
+ * @remarks Available labels: AccountCredit__Invoice
503
+ * @throws Error if called on a new (unsaved) record
504
+ *
505
+ * @example
506
+ * ```typescript
507
+ * // Get all linked AccountCredit records
508
+ * const items = await record.accountCredits.list();
509
+ * const first = await record.accountCredits.first();
510
+ *
511
+ * // Filter by label
512
+ * const specific = await record.accountCredits.first({ label: 'AccountCredit__Invoice' });
513
+ * ```
514
+ */
515
+ get accountCredits(): RecordLinkManager<AccountCreditRecord, typeof InvoiceRecord['accountCreditsLabels'][number]>;
119
516
  /**
120
517
  * Queue a link to be created with the next action.
121
518
  * Works for both create and update actions.