@temboplus/afloat 0.1.77-beta.1 → 0.1.77-beta.11

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.
@@ -1,6 +1,119 @@
1
1
  import { PayoutDTO, PayoutStatus, PayoutApprovalStatus, PayoutAuthorizer } from "@/modules/payout/payout.dtos.js";
2
2
  import { Amount } from "@temboplus/frontend-core";
3
3
  import { ContactInfo } from "../contact/contact-info.model.js";
4
+ import z from "zod";
5
+ /**
6
+ * Zod schema for Payout JSON serialization
7
+ * This mirrors the PayoutDTO structure but is specifically for JSON serialization
8
+ */
9
+ export declare const PayoutJSONSchema: z.ZodObject<{
10
+ id: z.ZodString;
11
+ profileId: z.ZodString;
12
+ payeeName: z.ZodString;
13
+ channel: z.ZodString;
14
+ msisdn: z.ZodString;
15
+ amount: z.ZodNumber;
16
+ currencyCode: z.ZodString;
17
+ countryCode: z.ZodString;
18
+ description: z.ZodString;
19
+ notes: z.ZodOptional<z.ZodNullable<z.ZodString>>;
20
+ status: z.ZodNativeEnum<typeof PayoutStatus>;
21
+ statusMessage: z.ZodString;
22
+ partnerReference: z.ZodOptional<z.ZodNullable<z.ZodString>>;
23
+ createdAt: z.ZodString;
24
+ updatedAt: z.ZodString;
25
+ actionedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
26
+ approvalStatus: z.ZodOptional<z.ZodNullable<z.ZodNativeEnum<typeof PayoutApprovalStatus>>>;
27
+ createdBy: z.ZodOptional<z.ZodNullable<z.ZodObject<{
28
+ id: z.ZodString;
29
+ name: z.ZodString;
30
+ identity: z.ZodString;
31
+ }, "strip", z.ZodTypeAny, {
32
+ name: string;
33
+ id: string;
34
+ identity: string;
35
+ }, {
36
+ name: string;
37
+ id: string;
38
+ identity: string;
39
+ }>>>;
40
+ actionedBy: z.ZodOptional<z.ZodNullable<z.ZodObject<{
41
+ id: z.ZodString;
42
+ name: z.ZodString;
43
+ identity: z.ZodString;
44
+ }, "strip", z.ZodTypeAny, {
45
+ name: string;
46
+ id: string;
47
+ identity: string;
48
+ }, {
49
+ name: string;
50
+ id: string;
51
+ identity: string;
52
+ }>>>;
53
+ version: z.ZodDefault<z.ZodOptional<z.ZodString>>;
54
+ }, "strip", z.ZodTypeAny, {
55
+ status: PayoutStatus;
56
+ id: string;
57
+ version: string;
58
+ profileId: string;
59
+ createdAt: string;
60
+ updatedAt: string;
61
+ description: string;
62
+ channel: string;
63
+ countryCode: string;
64
+ currencyCode: string;
65
+ msisdn: string;
66
+ amount: number;
67
+ payeeName: string;
68
+ statusMessage: string;
69
+ notes?: string | null | undefined;
70
+ partnerReference?: string | null | undefined;
71
+ actionedAt?: string | null | undefined;
72
+ approvalStatus?: PayoutApprovalStatus | null | undefined;
73
+ createdBy?: {
74
+ name: string;
75
+ id: string;
76
+ identity: string;
77
+ } | null | undefined;
78
+ actionedBy?: {
79
+ name: string;
80
+ id: string;
81
+ identity: string;
82
+ } | null | undefined;
83
+ }, {
84
+ status: PayoutStatus;
85
+ id: string;
86
+ profileId: string;
87
+ createdAt: string;
88
+ updatedAt: string;
89
+ description: string;
90
+ channel: string;
91
+ countryCode: string;
92
+ currencyCode: string;
93
+ msisdn: string;
94
+ amount: number;
95
+ payeeName: string;
96
+ statusMessage: string;
97
+ version?: string | undefined;
98
+ notes?: string | null | undefined;
99
+ partnerReference?: string | null | undefined;
100
+ actionedAt?: string | null | undefined;
101
+ approvalStatus?: PayoutApprovalStatus | null | undefined;
102
+ createdBy?: {
103
+ name: string;
104
+ id: string;
105
+ identity: string;
106
+ } | null | undefined;
107
+ actionedBy?: {
108
+ name: string;
109
+ id: string;
110
+ identity: string;
111
+ } | null | undefined;
112
+ }>;
113
+ /**
114
+ * Infer the PayoutJSON type from the schema
115
+ */
116
+ export type PayoutJSON = z.infer<typeof PayoutJSONSchema>;
4
117
  /**
5
118
  * Payout class that wraps the Zod schema and provides additional functionality
6
119
  */
@@ -133,7 +246,134 @@ export declare class Payout {
133
246
  */
134
247
  static is(obj: unknown): obj is Payout;
135
248
  /**
136
- * Converts Payout instance to a plain object
249
+ * Serializes the Payout instance to a JSON-compatible object
250
+ *
251
+ * Converts all Date objects to ISO strings for proper JSON serialization.
252
+ * The resulting object can be safely stringified and stored or transmitted.
253
+ *
254
+ * @returns {PayoutJSON} A plain object containing all payout data
255
+ *
256
+ * @example
257
+ * ```typescript
258
+ * const payout = Payout.create(payoutData);
259
+ * const json = payout.toJSON();
260
+ * // {
261
+ * // id: "payout-123",
262
+ * // amount: 50000,
263
+ * // currencyCode: "TZS",
264
+ * // createdAt: "2024-01-15T10:30:00.000Z",
265
+ * // ...
266
+ * // }
267
+ * ```
268
+ */
269
+ toJSON(): PayoutJSON;
270
+ /**
271
+ * Serializes the Payout instance to a JSON string
272
+ *
273
+ * @returns {string} JSON string representation of the payout
274
+ *
275
+ * @example
276
+ * ```typescript
277
+ * const payout = Payout.create(payoutData);
278
+ * const jsonString = payout.toJSONString();
279
+ *
280
+ * // Store in localStorage
281
+ * localStorage.setItem('pendingPayout', jsonString);
282
+ *
283
+ * // Or send to server
284
+ * await fetch('/api/cache-payout', {
285
+ * method: 'POST',
286
+ * body: jsonString
287
+ * });
288
+ * ```
289
+ */
290
+ toJSONString(): string;
291
+ /**
292
+ * Creates a Payout instance from a JSON-compatible object or string
293
+ *
294
+ * This method reconstructs a Payout instance from data that was previously
295
+ * serialized using toJSON(). It validates the input data using Zod schema
296
+ * and converts ISO date strings back to Date objects.
297
+ *
298
+ * @param {PayoutJSON | string} json - Either a PayoutJSON object or a JSON string
299
+ * @returns {Payout | undefined} A Payout instance if valid, undefined otherwise
300
+ *
301
+ * @example
302
+ * ```typescript
303
+ * // From localStorage
304
+ * const stored = localStorage.getItem('pendingPayout');
305
+ * const payout = Payout.fromJSON(stored!);
306
+ *
307
+ * if (payout) {
308
+ * console.log(payout.amount.label); // "TSh 50,000.00"
309
+ * console.log(payout.status); // "PENDING"
310
+ * }
311
+ *
312
+ * // From object
313
+ * const payoutJson = {
314
+ * id: "payout-123",
315
+ * amount: 50000,
316
+ * currencyCode: "TZS",
317
+ * createdAt: "2024-01-15T10:30:00.000Z",
318
+ * ...
319
+ * };
320
+ * const payout = Payout.fromJSON(payoutJson);
321
+ * ```
322
+ */
323
+ static fromJSON(json: PayoutJSON | string): Payout | undefined;
324
+ /**
325
+ * Type guard using Zod schema validation
326
+ *
327
+ * Checks if an unknown value conforms to the PayoutJSON structure
328
+ * without attempting to create a Payout instance.
329
+ *
330
+ * @param {unknown} obj - The object to validate
331
+ * @returns {boolean} True if the object is a valid PayoutJSON
332
+ *
333
+ * @example
334
+ * ```typescript
335
+ * const data = JSON.parse(localStorage.getItem('payout'));
336
+ *
337
+ * if (Payout.isPayoutJSON(data)) {
338
+ * const payout = Payout.fromJSON(data);
339
+ * // TypeScript knows data is PayoutJSON here
340
+ * }
341
+ * ```
342
+ */
343
+ static isPayoutJSON(obj: unknown): obj is PayoutJSON;
344
+ /**
345
+ * Creates multiple Payout instances from a JSON array
346
+ *
347
+ * @param {PayoutJSON[] | string} jsonArray - Array of PayoutJSON objects or JSON string
348
+ * @returns {Payout[]} Array of Payout instances (invalid items are filtered out)
349
+ *
350
+ * @example
351
+ * ```typescript
352
+ * // From API response
353
+ * const response = await fetch('/api/payouts');
354
+ * const jsonArray = await response.json();
355
+ * const payouts = Payout.fromJSONArray(jsonArray);
356
+ *
357
+ * // From stored array
358
+ * const stored = localStorage.getItem('recentPayouts');
359
+ * const payouts = Payout.fromJSONArray(stored!);
360
+ * ```
361
+ */
362
+ static fromJSONArray(jsonArray: PayoutJSON[] | string): Payout[];
363
+ /**
364
+ * Serializes an array of Payout instances to JSON
365
+ *
366
+ * @param {Payout[]} payouts - Array of Payout instances to serialize
367
+ * @returns {PayoutJSON[]} Array of PayoutJSON objects
368
+ *
369
+ * @example
370
+ * ```typescript
371
+ * const payouts = [payout1, payout2, payout3];
372
+ * const jsonArray = Payout.toJSONArray(payouts);
373
+ *
374
+ * // Store or transmit
375
+ * localStorage.setItem('recentPayouts', JSON.stringify(jsonArray));
376
+ * ```
137
377
  */
138
- toJSON(): PayoutDTO;
378
+ static toJSONArray(payouts: Payout[]): PayoutJSON[];
139
379
  }
@@ -47,6 +47,7 @@ export declare class PayoutQuery extends QueryBuilder {
47
47
  whereProfileId(profileId: string): this;
48
48
  wherePartnerReference(partnerReference: string): this;
49
49
  whereSearch(searchTerm: string): this;
50
+ whereCurrencyCode(currencyCode: string): this;
50
51
  /**
51
52
  * Apply all filters from PayoutFilters object
52
53
  */
@@ -91,6 +92,12 @@ export declare class PayoutQuery extends QueryBuilder {
91
92
  * Create new instance with channel filter
92
93
  */
93
94
  withChannel(channel?: string): PayoutQuery;
95
+ /**
96
+ * Includes default relations for eager loading.
97
+ * This ensures that related data (createdBy, actionedBy) is fetched automatically.
98
+ * @returns The current query builder instance.
99
+ */
100
+ includeDefaultRelations(): this;
94
101
  /**
95
102
  * Reset to first page
96
103
  */
@@ -1,4 +1,42 @@
1
- import { ProfileDTO } from "./profile.dtos.js";
1
+ import { z } from "zod";
2
+ /**
3
+ * Zod schema for Profile JSON serialization
4
+ */
5
+ export declare const ProfileJSONSchema: z.ZodObject<{
6
+ id: z.ZodString;
7
+ firstName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
8
+ lastName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
9
+ displayName: z.ZodString;
10
+ phone: z.ZodOptional<z.ZodNullable<z.ZodString>>;
11
+ accountNo: z.ZodString;
12
+ email: z.ZodOptional<z.ZodNullable<z.ZodString>>;
13
+ autoApprove: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
14
+ version: z.ZodDefault<z.ZodOptional<z.ZodString>>;
15
+ }, "strip", z.ZodTypeAny, {
16
+ id: string;
17
+ displayName: string;
18
+ accountNo: string;
19
+ version: string;
20
+ firstName?: string | null | undefined;
21
+ lastName?: string | null | undefined;
22
+ phone?: string | null | undefined;
23
+ email?: string | null | undefined;
24
+ autoApprove?: boolean | null | undefined;
25
+ }, {
26
+ id: string;
27
+ displayName: string;
28
+ accountNo: string;
29
+ firstName?: string | null | undefined;
30
+ lastName?: string | null | undefined;
31
+ phone?: string | null | undefined;
32
+ email?: string | null | undefined;
33
+ autoApprove?: boolean | null | undefined;
34
+ version?: string | undefined;
35
+ }>;
36
+ /**
37
+ * Infer the ProfileJSON type from the schema
38
+ */
39
+ export type ProfileJSON = z.infer<typeof ProfileJSONSchema>;
2
40
  /**
3
41
  * Represents a user profile in the system.
4
42
  *
@@ -25,16 +63,16 @@ export declare class Profile {
25
63
  /**
26
64
  * Gets the profile schema used for validation.
27
65
  */
28
- static get schema(): import("zod").ZodObject<{
29
- id: import("zod").ZodString;
30
- firstName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
31
- lastName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
32
- displayName: import("zod").ZodString;
33
- phone: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
34
- accountNo: import("zod").ZodString;
35
- email: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
36
- autoApprove: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodBoolean>>;
37
- }, "strip", import("zod").ZodTypeAny, {
66
+ static get schema(): z.ZodObject<{
67
+ id: z.ZodString;
68
+ firstName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
69
+ lastName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
70
+ displayName: z.ZodString;
71
+ phone: z.ZodOptional<z.ZodNullable<z.ZodString>>;
72
+ accountNo: z.ZodString;
73
+ email: z.ZodOptional<z.ZodNullable<z.ZodString>>;
74
+ autoApprove: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
75
+ }, "strip", z.ZodTypeAny, {
38
76
  id: string;
39
77
  displayName: string;
40
78
  accountNo: string;
@@ -113,31 +151,12 @@ export declare class Profile {
113
151
  * Returns the display name if it exists, otherwise returns the first and last name combined.
114
152
  */
115
153
  getName(): string;
116
- /**
117
- * Creates a plain object representation of the profile for validation or serialization.
118
- *
119
- * @returns A plain object matching the ProfileType interface
120
- */
121
- toObject(): ProfileDTO;
122
- /**
123
- * Converts the profile to a JSON string.
124
- *
125
- * @returns A JSON string representation of the profile
126
- */
127
- toJSON(): string;
128
154
  /**
129
155
  * Validates the profile data against the Zod schema.
130
156
  *
131
157
  * @returns True if the profile is valid, false otherwise
132
158
  */
133
159
  validate(): boolean;
134
- /**
135
- * Creates a Profile instance from a JSON string.
136
- *
137
- * @param jsonString - JSON string containing profile data
138
- * @returns A new Profile instance, or undefined if parsing failed
139
- */
140
- static fromJSON(jsonString: string): Profile | undefined;
141
160
  /**
142
161
  * Creates a Profile instance from a plain object.
143
162
  *
@@ -152,4 +171,20 @@ export declare class Profile {
152
171
  * @returns Type predicate indicating if the object is a valid Profile
153
172
  */
154
173
  static is(obj: unknown): obj is Profile;
174
+ /**
175
+ * Serializes the Profile instance to a JSON-compatible object
176
+ */
177
+ toJSON(): ProfileJSON;
178
+ /**
179
+ * Serializes the Profile instance to a JSON string
180
+ */
181
+ toJSONString(): string;
182
+ /**
183
+ * Creates a Profile instance from a JSON-compatible object or string
184
+ */
185
+ static fromJSON(json: ProfileJSON | string): Profile | undefined;
186
+ /**
187
+ * Type guard using Zod schema validation
188
+ */
189
+ static isProfileJSON(obj: unknown): obj is ProfileJSON;
155
190
  }
@@ -1,4 +1,37 @@
1
+ import z from "zod";
1
2
  import { RoleDTO } from "./team-member.dtos.js";
3
+ /**
4
+ * Zod schema for Role JSON serialization
5
+ */
6
+ export declare const RoleJSONSchema: z.ZodObject<{
7
+ id: z.ZodString;
8
+ name: z.ZodString;
9
+ description: z.ZodOptional<z.ZodString>;
10
+ access: z.ZodArray<z.ZodString, "many">;
11
+ createdAt: z.ZodString;
12
+ updatedAt: z.ZodString;
13
+ version: z.ZodDefault<z.ZodOptional<z.ZodString>>;
14
+ }, "strip", z.ZodTypeAny, {
15
+ name: string;
16
+ id: string;
17
+ version: string;
18
+ createdAt: string;
19
+ updatedAt: string;
20
+ access: string[];
21
+ description?: string | undefined;
22
+ }, {
23
+ name: string;
24
+ id: string;
25
+ createdAt: string;
26
+ updatedAt: string;
27
+ access: string[];
28
+ version?: string | undefined;
29
+ description?: string | undefined;
30
+ }>;
31
+ /**
32
+ * Infer the RoleJSON type from the schema
33
+ */
34
+ export type RoleJSON = z.infer<typeof RoleJSONSchema>;
2
35
  export declare class Role {
3
36
  readonly id: string;
4
37
  readonly name: string;
@@ -9,5 +42,20 @@ export declare class Role {
9
42
  constructor(data: RoleDTO);
10
43
  hasPermission(permission: string): boolean;
11
44
  static from(data: RoleDTO): Role | undefined;
12
- toJSON(): any;
45
+ /**
46
+ * Serializes the Role instance to a JSON-compatible object
47
+ */
48
+ toJSON(): RoleJSON;
49
+ /**
50
+ * Serializes the Role instance to a JSON string
51
+ */
52
+ toJSONString(): string;
53
+ /**
54
+ * Creates a Role instance from a JSON-compatible object or string
55
+ */
56
+ static fromJSON(json: RoleJSON | string): Role | undefined;
57
+ /**
58
+ * Type guard using Zod schema validation
59
+ */
60
+ static isRoleJSON(obj: unknown): obj is RoleJSON;
13
61
  }
@@ -319,10 +319,12 @@ export declare const teamManagementContract: {
319
319
  identity: z.ZodString;
320
320
  type: z.ZodString;
321
321
  profileId: z.ZodString;
322
+ resetPassword: z.ZodBoolean;
322
323
  roleId: z.ZodString;
323
324
  isActive: z.ZodBoolean;
324
325
  isArchived: z.ZodBoolean;
325
326
  createdAt: z.ZodString;
327
+ updatedAt: z.ZodString;
326
328
  }, "strip", z.ZodTypeAny, {
327
329
  type: string;
328
330
  name: string;
@@ -332,7 +334,9 @@ export declare const teamManagementContract: {
332
334
  roleId: string;
333
335
  isActive: boolean;
334
336
  isArchived: boolean;
337
+ resetPassword: boolean;
335
338
  createdAt: string;
339
+ updatedAt: string;
336
340
  }, {
337
341
  type: string;
338
342
  name: string;
@@ -342,7 +346,9 @@ export declare const teamManagementContract: {
342
346
  roleId: string;
343
347
  isActive: boolean;
344
348
  isArchived: boolean;
349
+ resetPassword: boolean;
345
350
  createdAt: string;
351
+ updatedAt: string;
346
352
  }>;
347
353
  400: z.ZodObject<{
348
354
  message: z.ZodOptional<z.ZodString>;
@@ -195,10 +195,12 @@ export declare const TeamManagementDTOSchemas: {
195
195
  identity: z.ZodString;
196
196
  type: z.ZodString;
197
197
  profileId: z.ZodString;
198
+ resetPassword: z.ZodBoolean;
198
199
  roleId: z.ZodString;
199
200
  isActive: z.ZodBoolean;
200
201
  isArchived: z.ZodBoolean;
201
202
  createdAt: z.ZodString;
203
+ updatedAt: z.ZodString;
202
204
  }, "strip", z.ZodTypeAny, {
203
205
  type: string;
204
206
  name: string;
@@ -208,7 +210,9 @@ export declare const TeamManagementDTOSchemas: {
208
210
  roleId: string;
209
211
  isActive: boolean;
210
212
  isArchived: boolean;
213
+ resetPassword: boolean;
211
214
  createdAt: string;
215
+ updatedAt: string;
212
216
  }, {
213
217
  type: string;
214
218
  name: string;
@@ -218,7 +222,9 @@ export declare const TeamManagementDTOSchemas: {
218
222
  roleId: string;
219
223
  isActive: boolean;
220
224
  isArchived: boolean;
225
+ resetPassword: boolean;
221
226
  createdAt: string;
227
+ updatedAt: string;
222
228
  }>;
223
229
  password: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>, string, string>;
224
230
  };
@@ -1,3 +1,4 @@
1
+ import z from "zod";
1
2
  import { Role } from "./role.model.js";
2
3
  import { RoleDTO } from "./team-member.dtos.js";
3
4
  export interface TeamMemberData {
@@ -14,6 +15,93 @@ export interface TeamMemberData {
14
15
  createdAt: string;
15
16
  updatedAt: string;
16
17
  }
18
+ /**
19
+ * Zod schema for TeamMember JSON serialization
20
+ */
21
+ export declare const TeamMemberJSONSchema: z.ZodObject<{
22
+ id: z.ZodString;
23
+ name: z.ZodString;
24
+ identity: z.ZodString;
25
+ type: z.ZodString;
26
+ profileId: z.ZodString;
27
+ roleId: z.ZodString;
28
+ resetPassword: z.ZodBoolean;
29
+ isActive: z.ZodBoolean;
30
+ isArchived: z.ZodBoolean;
31
+ role: z.ZodOptional<z.ZodObject<{
32
+ id: z.ZodString;
33
+ name: z.ZodString;
34
+ description: z.ZodOptional<z.ZodString>;
35
+ access: z.ZodArray<z.ZodString, "many">;
36
+ createdAt: z.ZodString;
37
+ updatedAt: z.ZodString;
38
+ version: z.ZodDefault<z.ZodOptional<z.ZodString>>;
39
+ }, "strip", z.ZodTypeAny, {
40
+ name: string;
41
+ id: string;
42
+ version: string;
43
+ createdAt: string;
44
+ updatedAt: string;
45
+ access: string[];
46
+ description?: string | undefined;
47
+ }, {
48
+ name: string;
49
+ id: string;
50
+ createdAt: string;
51
+ updatedAt: string;
52
+ access: string[];
53
+ version?: string | undefined;
54
+ description?: string | undefined;
55
+ }>>;
56
+ createdAt: z.ZodString;
57
+ updatedAt: z.ZodString;
58
+ version: z.ZodDefault<z.ZodOptional<z.ZodString>>;
59
+ }, "strip", z.ZodTypeAny, {
60
+ type: string;
61
+ name: string;
62
+ id: string;
63
+ version: string;
64
+ profileId: string;
65
+ identity: string;
66
+ roleId: string;
67
+ isActive: boolean;
68
+ isArchived: boolean;
69
+ resetPassword: boolean;
70
+ createdAt: string;
71
+ updatedAt: string;
72
+ role?: {
73
+ name: string;
74
+ id: string;
75
+ version: string;
76
+ createdAt: string;
77
+ updatedAt: string;
78
+ access: string[];
79
+ description?: string | undefined;
80
+ } | undefined;
81
+ }, {
82
+ type: string;
83
+ name: string;
84
+ id: string;
85
+ profileId: string;
86
+ identity: string;
87
+ roleId: string;
88
+ isActive: boolean;
89
+ isArchived: boolean;
90
+ resetPassword: boolean;
91
+ createdAt: string;
92
+ updatedAt: string;
93
+ version?: string | undefined;
94
+ role?: {
95
+ name: string;
96
+ id: string;
97
+ createdAt: string;
98
+ updatedAt: string;
99
+ access: string[];
100
+ version?: string | undefined;
101
+ description?: string | undefined;
102
+ } | undefined;
103
+ }>;
104
+ export type TeamMemberJSON = z.infer<typeof TeamMemberJSONSchema>;
17
105
  /**
18
106
  * Represents a team member from the admin management perspective.
19
107
  *
@@ -123,15 +211,27 @@ export declare class TeamMember {
123
211
  */
124
212
  getLastUpdateInfo(): string;
125
213
  /**
126
- * Converts the TeamMember instance to a plain object.
214
+ * Serializes the TeamMember instance to a JSON-compatible object
215
+ */
216
+ toJSON(): TeamMemberJSON;
217
+ /**
218
+ * Serializes the TeamMember instance to a JSON string
219
+ */
220
+ toJSONString(): string;
221
+ /**
222
+ * Creates a TeamMember instance from a JSON-compatible object or string
223
+ */
224
+ static fromJSON(json: TeamMemberJSON | string): TeamMember | undefined;
225
+ /**
226
+ * Type guard using Zod schema validation
127
227
  */
128
- toObject(): any;
228
+ static isTeamMemberJSON(obj: unknown): obj is TeamMemberJSON;
129
229
  /**
130
- * Converts the TeamMember instance to a JSON string.
230
+ * Creates multiple TeamMember instances from a JSON array
131
231
  */
132
- toJson(): string;
232
+ static fromJSONArray(jsonArray: TeamMemberJSON[] | string): TeamMember[];
133
233
  /**
134
- * Alias for toJson() to maintain consistency with other models
234
+ * Serializes an array of TeamMember instances to JSON
135
235
  */
136
- toJSON(): any;
236
+ static toJSONArray(members: TeamMember[]): TeamMemberJSON[];
137
237
  }