@ssoeasy-dev/proto 1.1.0-beta.2

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 (41) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +228 -0
  3. package/gen/ts/abac/v1/employee_attribute.ts +501 -0
  4. package/gen/ts/abac/v1/models/employee_attribute.ts +190 -0
  5. package/gen/ts/auth/v1/auth.ts +663 -0
  6. package/gen/ts/auth/v1/verification.ts +340 -0
  7. package/gen/ts/common/v1/types.ts +142 -0
  8. package/gen/ts/companies/v1/models/company.ts +204 -0
  9. package/gen/ts/companies/v1/models/employee.ts +175 -0
  10. package/gen/ts/companies/v1/models/employee_company.ts +145 -0
  11. package/gen/ts/companies/v1/models/subscription.ts +166 -0
  12. package/gen/ts/companies/v1/owner.ts +569 -0
  13. package/gen/ts/google/protobuf/timestamp.ts +233 -0
  14. package/gen/ts/index.abac.ts +8 -0
  15. package/gen/ts/index.abac.v1.models.ts +8 -0
  16. package/gen/ts/index.abac.v1.ts +9 -0
  17. package/gen/ts/index.auth.ts +8 -0
  18. package/gen/ts/index.auth.v1.ts +9 -0
  19. package/gen/ts/index.common.ts +8 -0
  20. package/gen/ts/index.common.v1.ts +8 -0
  21. package/gen/ts/index.companies.ts +8 -0
  22. package/gen/ts/index.companies.v1.models.ts +11 -0
  23. package/gen/ts/index.companies.v1.ts +9 -0
  24. package/gen/ts/index.google.protobuf.ts +8 -0
  25. package/gen/ts/index.google.ts +8 -0
  26. package/gen/ts/index.services.ts +8 -0
  27. package/gen/ts/index.services.v1.ts +8 -0
  28. package/gen/ts/index.ts +13 -0
  29. package/gen/ts/services/v1/services.ts +293 -0
  30. package/package.json +69 -0
  31. package/proto/abac/v1/employee_attribute.proto +31 -0
  32. package/proto/abac/v1/models/employee_attribute.proto +11 -0
  33. package/proto/auth/v1/auth.proto +39 -0
  34. package/proto/auth/v1/verification.proto +25 -0
  35. package/proto/common/v1/types.proto +10 -0
  36. package/proto/companies/v1/models/company.proto +12 -0
  37. package/proto/companies/v1/models/employee.proto +11 -0
  38. package/proto/companies/v1/models/employee_company.proto +9 -0
  39. package/proto/companies/v1/models/subscription.proto +10 -0
  40. package/proto/companies/v1/owner.proto +38 -0
  41. package/proto/services/v1/services.proto +19 -0
@@ -0,0 +1,569 @@
1
+ // Code generated by protoc-gen-ts_proto. DO NOT EDIT.
2
+ // versions:
3
+ // protoc-gen-ts_proto v2.11.2
4
+ // protoc unknown
5
+ // source: companies/v1/owner.proto
6
+
7
+ /* eslint-disable */
8
+ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
9
+ import type { CallContext, CallOptions } from "nice-grpc-common";
10
+ import { Company } from "./models/company";
11
+ import { Employee } from "./models/employee";
12
+ import { EmployeeCompany } from "./models/employee_company";
13
+ import { Subscription } from "./models/subscription";
14
+
15
+ export interface RegisterOwnerRequest {
16
+ $type: "companies.v1.RegisterOwnerRequest";
17
+ email: string;
18
+ firstName: string;
19
+ lastName: string;
20
+ }
21
+
22
+ export interface RegisterOwnerResponse {
23
+ $type: "companies.v1.RegisterOwnerResponse";
24
+ company?: Company | undefined;
25
+ employee?: Employee | undefined;
26
+ subscription?: Subscription | undefined;
27
+ employeeCompany?: EmployeeCompany | undefined;
28
+ }
29
+
30
+ export interface RegisterOwnerCompinsateRequest {
31
+ $type: "companies.v1.RegisterOwnerCompinsateRequest";
32
+ companyId: string;
33
+ employeeId: string;
34
+ subscriptionId: string;
35
+ employeeCompanyId: string;
36
+ }
37
+
38
+ export interface RegisterOwnerCompinsateResponse {
39
+ $type: "companies.v1.RegisterOwnerCompinsateResponse";
40
+ success: boolean;
41
+ message: string;
42
+ }
43
+
44
+ function createBaseRegisterOwnerRequest(): RegisterOwnerRequest {
45
+ return { $type: "companies.v1.RegisterOwnerRequest", email: "", firstName: "", lastName: "" };
46
+ }
47
+
48
+ export const RegisterOwnerRequest: MessageFns<RegisterOwnerRequest, "companies.v1.RegisterOwnerRequest"> = {
49
+ $type: "companies.v1.RegisterOwnerRequest" as const,
50
+
51
+ encode(message: RegisterOwnerRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
52
+ if (message.email !== "") {
53
+ writer.uint32(10).string(message.email);
54
+ }
55
+ if (message.firstName !== "") {
56
+ writer.uint32(18).string(message.firstName);
57
+ }
58
+ if (message.lastName !== "") {
59
+ writer.uint32(26).string(message.lastName);
60
+ }
61
+ return writer;
62
+ },
63
+
64
+ decode(input: BinaryReader | Uint8Array, length?: number): RegisterOwnerRequest {
65
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
66
+ const end = length === undefined ? reader.len : reader.pos + length;
67
+ const message = createBaseRegisterOwnerRequest();
68
+ while (reader.pos < end) {
69
+ const tag = reader.uint32();
70
+ switch (tag >>> 3) {
71
+ case 1: {
72
+ if (tag !== 10) {
73
+ break;
74
+ }
75
+
76
+ message.email = reader.string();
77
+ continue;
78
+ }
79
+ case 2: {
80
+ if (tag !== 18) {
81
+ break;
82
+ }
83
+
84
+ message.firstName = reader.string();
85
+ continue;
86
+ }
87
+ case 3: {
88
+ if (tag !== 26) {
89
+ break;
90
+ }
91
+
92
+ message.lastName = reader.string();
93
+ continue;
94
+ }
95
+ }
96
+ if ((tag & 7) === 4 || tag === 0) {
97
+ break;
98
+ }
99
+ reader.skip(tag & 7);
100
+ }
101
+ return message;
102
+ },
103
+
104
+ fromJSON(object: any): RegisterOwnerRequest {
105
+ return {
106
+ $type: RegisterOwnerRequest.$type,
107
+ email: isSet(object.email) ? globalThis.String(object.email) : "",
108
+ firstName: isSet(object.firstName)
109
+ ? globalThis.String(object.firstName)
110
+ : isSet(object.first_name)
111
+ ? globalThis.String(object.first_name)
112
+ : "",
113
+ lastName: isSet(object.lastName)
114
+ ? globalThis.String(object.lastName)
115
+ : isSet(object.last_name)
116
+ ? globalThis.String(object.last_name)
117
+ : "",
118
+ };
119
+ },
120
+
121
+ toJSON(message: RegisterOwnerRequest): unknown {
122
+ const obj: any = {};
123
+ if (message.email !== "") {
124
+ obj.email = message.email;
125
+ }
126
+ if (message.firstName !== "") {
127
+ obj.firstName = message.firstName;
128
+ }
129
+ if (message.lastName !== "") {
130
+ obj.lastName = message.lastName;
131
+ }
132
+ return obj;
133
+ },
134
+
135
+ create<I extends Exact<DeepPartial<RegisterOwnerRequest>, I>>(base?: I): RegisterOwnerRequest {
136
+ return RegisterOwnerRequest.fromPartial(base ?? ({} as any));
137
+ },
138
+ fromPartial<I extends Exact<DeepPartial<RegisterOwnerRequest>, I>>(object: I): RegisterOwnerRequest {
139
+ const message = createBaseRegisterOwnerRequest();
140
+ message.email = object.email ?? "";
141
+ message.firstName = object.firstName ?? "";
142
+ message.lastName = object.lastName ?? "";
143
+ return message;
144
+ },
145
+ };
146
+
147
+ function createBaseRegisterOwnerResponse(): RegisterOwnerResponse {
148
+ return {
149
+ $type: "companies.v1.RegisterOwnerResponse",
150
+ company: undefined,
151
+ employee: undefined,
152
+ subscription: undefined,
153
+ employeeCompany: undefined,
154
+ };
155
+ }
156
+
157
+ export const RegisterOwnerResponse: MessageFns<RegisterOwnerResponse, "companies.v1.RegisterOwnerResponse"> = {
158
+ $type: "companies.v1.RegisterOwnerResponse" as const,
159
+
160
+ encode(message: RegisterOwnerResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
161
+ if (message.company !== undefined) {
162
+ Company.encode(message.company, writer.uint32(10).fork()).join();
163
+ }
164
+ if (message.employee !== undefined) {
165
+ Employee.encode(message.employee, writer.uint32(18).fork()).join();
166
+ }
167
+ if (message.subscription !== undefined) {
168
+ Subscription.encode(message.subscription, writer.uint32(26).fork()).join();
169
+ }
170
+ if (message.employeeCompany !== undefined) {
171
+ EmployeeCompany.encode(message.employeeCompany, writer.uint32(34).fork()).join();
172
+ }
173
+ return writer;
174
+ },
175
+
176
+ decode(input: BinaryReader | Uint8Array, length?: number): RegisterOwnerResponse {
177
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
178
+ const end = length === undefined ? reader.len : reader.pos + length;
179
+ const message = createBaseRegisterOwnerResponse();
180
+ while (reader.pos < end) {
181
+ const tag = reader.uint32();
182
+ switch (tag >>> 3) {
183
+ case 1: {
184
+ if (tag !== 10) {
185
+ break;
186
+ }
187
+
188
+ message.company = Company.decode(reader, reader.uint32());
189
+ continue;
190
+ }
191
+ case 2: {
192
+ if (tag !== 18) {
193
+ break;
194
+ }
195
+
196
+ message.employee = Employee.decode(reader, reader.uint32());
197
+ continue;
198
+ }
199
+ case 3: {
200
+ if (tag !== 26) {
201
+ break;
202
+ }
203
+
204
+ message.subscription = Subscription.decode(reader, reader.uint32());
205
+ continue;
206
+ }
207
+ case 4: {
208
+ if (tag !== 34) {
209
+ break;
210
+ }
211
+
212
+ message.employeeCompany = EmployeeCompany.decode(reader, reader.uint32());
213
+ continue;
214
+ }
215
+ }
216
+ if ((tag & 7) === 4 || tag === 0) {
217
+ break;
218
+ }
219
+ reader.skip(tag & 7);
220
+ }
221
+ return message;
222
+ },
223
+
224
+ fromJSON(object: any): RegisterOwnerResponse {
225
+ return {
226
+ $type: RegisterOwnerResponse.$type,
227
+ company: isSet(object.company) ? Company.fromJSON(object.company) : undefined,
228
+ employee: isSet(object.employee) ? Employee.fromJSON(object.employee) : undefined,
229
+ subscription: isSet(object.subscription) ? Subscription.fromJSON(object.subscription) : undefined,
230
+ employeeCompany: isSet(object.employeeCompany)
231
+ ? EmployeeCompany.fromJSON(object.employeeCompany)
232
+ : isSet(object.employee_company)
233
+ ? EmployeeCompany.fromJSON(object.employee_company)
234
+ : undefined,
235
+ };
236
+ },
237
+
238
+ toJSON(message: RegisterOwnerResponse): unknown {
239
+ const obj: any = {};
240
+ if (message.company !== undefined) {
241
+ obj.company = Company.toJSON(message.company);
242
+ }
243
+ if (message.employee !== undefined) {
244
+ obj.employee = Employee.toJSON(message.employee);
245
+ }
246
+ if (message.subscription !== undefined) {
247
+ obj.subscription = Subscription.toJSON(message.subscription);
248
+ }
249
+ if (message.employeeCompany !== undefined) {
250
+ obj.employeeCompany = EmployeeCompany.toJSON(message.employeeCompany);
251
+ }
252
+ return obj;
253
+ },
254
+
255
+ create<I extends Exact<DeepPartial<RegisterOwnerResponse>, I>>(base?: I): RegisterOwnerResponse {
256
+ return RegisterOwnerResponse.fromPartial(base ?? ({} as any));
257
+ },
258
+ fromPartial<I extends Exact<DeepPartial<RegisterOwnerResponse>, I>>(object: I): RegisterOwnerResponse {
259
+ const message = createBaseRegisterOwnerResponse();
260
+ message.company = (object.company !== undefined && object.company !== null)
261
+ ? Company.fromPartial(object.company)
262
+ : undefined;
263
+ message.employee = (object.employee !== undefined && object.employee !== null)
264
+ ? Employee.fromPartial(object.employee)
265
+ : undefined;
266
+ message.subscription = (object.subscription !== undefined && object.subscription !== null)
267
+ ? Subscription.fromPartial(object.subscription)
268
+ : undefined;
269
+ message.employeeCompany = (object.employeeCompany !== undefined && object.employeeCompany !== null)
270
+ ? EmployeeCompany.fromPartial(object.employeeCompany)
271
+ : undefined;
272
+ return message;
273
+ },
274
+ };
275
+
276
+ function createBaseRegisterOwnerCompinsateRequest(): RegisterOwnerCompinsateRequest {
277
+ return {
278
+ $type: "companies.v1.RegisterOwnerCompinsateRequest",
279
+ companyId: "",
280
+ employeeId: "",
281
+ subscriptionId: "",
282
+ employeeCompanyId: "",
283
+ };
284
+ }
285
+
286
+ export const RegisterOwnerCompinsateRequest: MessageFns<
287
+ RegisterOwnerCompinsateRequest,
288
+ "companies.v1.RegisterOwnerCompinsateRequest"
289
+ > = {
290
+ $type: "companies.v1.RegisterOwnerCompinsateRequest" as const,
291
+
292
+ encode(message: RegisterOwnerCompinsateRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
293
+ if (message.companyId !== "") {
294
+ writer.uint32(10).string(message.companyId);
295
+ }
296
+ if (message.employeeId !== "") {
297
+ writer.uint32(18).string(message.employeeId);
298
+ }
299
+ if (message.subscriptionId !== "") {
300
+ writer.uint32(26).string(message.subscriptionId);
301
+ }
302
+ if (message.employeeCompanyId !== "") {
303
+ writer.uint32(34).string(message.employeeCompanyId);
304
+ }
305
+ return writer;
306
+ },
307
+
308
+ decode(input: BinaryReader | Uint8Array, length?: number): RegisterOwnerCompinsateRequest {
309
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
310
+ const end = length === undefined ? reader.len : reader.pos + length;
311
+ const message = createBaseRegisterOwnerCompinsateRequest();
312
+ while (reader.pos < end) {
313
+ const tag = reader.uint32();
314
+ switch (tag >>> 3) {
315
+ case 1: {
316
+ if (tag !== 10) {
317
+ break;
318
+ }
319
+
320
+ message.companyId = reader.string();
321
+ continue;
322
+ }
323
+ case 2: {
324
+ if (tag !== 18) {
325
+ break;
326
+ }
327
+
328
+ message.employeeId = reader.string();
329
+ continue;
330
+ }
331
+ case 3: {
332
+ if (tag !== 26) {
333
+ break;
334
+ }
335
+
336
+ message.subscriptionId = reader.string();
337
+ continue;
338
+ }
339
+ case 4: {
340
+ if (tag !== 34) {
341
+ break;
342
+ }
343
+
344
+ message.employeeCompanyId = reader.string();
345
+ continue;
346
+ }
347
+ }
348
+ if ((tag & 7) === 4 || tag === 0) {
349
+ break;
350
+ }
351
+ reader.skip(tag & 7);
352
+ }
353
+ return message;
354
+ },
355
+
356
+ fromJSON(object: any): RegisterOwnerCompinsateRequest {
357
+ return {
358
+ $type: RegisterOwnerCompinsateRequest.$type,
359
+ companyId: isSet(object.companyId)
360
+ ? globalThis.String(object.companyId)
361
+ : isSet(object.company_id)
362
+ ? globalThis.String(object.company_id)
363
+ : "",
364
+ employeeId: isSet(object.employeeId)
365
+ ? globalThis.String(object.employeeId)
366
+ : isSet(object.employee_id)
367
+ ? globalThis.String(object.employee_id)
368
+ : "",
369
+ subscriptionId: isSet(object.subscriptionId)
370
+ ? globalThis.String(object.subscriptionId)
371
+ : isSet(object.subscription_id)
372
+ ? globalThis.String(object.subscription_id)
373
+ : "",
374
+ employeeCompanyId: isSet(object.employeeCompanyId)
375
+ ? globalThis.String(object.employeeCompanyId)
376
+ : isSet(object.employee_company_id)
377
+ ? globalThis.String(object.employee_company_id)
378
+ : "",
379
+ };
380
+ },
381
+
382
+ toJSON(message: RegisterOwnerCompinsateRequest): unknown {
383
+ const obj: any = {};
384
+ if (message.companyId !== "") {
385
+ obj.companyId = message.companyId;
386
+ }
387
+ if (message.employeeId !== "") {
388
+ obj.employeeId = message.employeeId;
389
+ }
390
+ if (message.subscriptionId !== "") {
391
+ obj.subscriptionId = message.subscriptionId;
392
+ }
393
+ if (message.employeeCompanyId !== "") {
394
+ obj.employeeCompanyId = message.employeeCompanyId;
395
+ }
396
+ return obj;
397
+ },
398
+
399
+ create<I extends Exact<DeepPartial<RegisterOwnerCompinsateRequest>, I>>(base?: I): RegisterOwnerCompinsateRequest {
400
+ return RegisterOwnerCompinsateRequest.fromPartial(base ?? ({} as any));
401
+ },
402
+ fromPartial<I extends Exact<DeepPartial<RegisterOwnerCompinsateRequest>, I>>(
403
+ object: I,
404
+ ): RegisterOwnerCompinsateRequest {
405
+ const message = createBaseRegisterOwnerCompinsateRequest();
406
+ message.companyId = object.companyId ?? "";
407
+ message.employeeId = object.employeeId ?? "";
408
+ message.subscriptionId = object.subscriptionId ?? "";
409
+ message.employeeCompanyId = object.employeeCompanyId ?? "";
410
+ return message;
411
+ },
412
+ };
413
+
414
+ function createBaseRegisterOwnerCompinsateResponse(): RegisterOwnerCompinsateResponse {
415
+ return { $type: "companies.v1.RegisterOwnerCompinsateResponse", success: false, message: "" };
416
+ }
417
+
418
+ export const RegisterOwnerCompinsateResponse: MessageFns<
419
+ RegisterOwnerCompinsateResponse,
420
+ "companies.v1.RegisterOwnerCompinsateResponse"
421
+ > = {
422
+ $type: "companies.v1.RegisterOwnerCompinsateResponse" as const,
423
+
424
+ encode(message: RegisterOwnerCompinsateResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
425
+ if (message.success !== false) {
426
+ writer.uint32(8).bool(message.success);
427
+ }
428
+ if (message.message !== "") {
429
+ writer.uint32(18).string(message.message);
430
+ }
431
+ return writer;
432
+ },
433
+
434
+ decode(input: BinaryReader | Uint8Array, length?: number): RegisterOwnerCompinsateResponse {
435
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
436
+ const end = length === undefined ? reader.len : reader.pos + length;
437
+ const message = createBaseRegisterOwnerCompinsateResponse();
438
+ while (reader.pos < end) {
439
+ const tag = reader.uint32();
440
+ switch (tag >>> 3) {
441
+ case 1: {
442
+ if (tag !== 8) {
443
+ break;
444
+ }
445
+
446
+ message.success = reader.bool();
447
+ continue;
448
+ }
449
+ case 2: {
450
+ if (tag !== 18) {
451
+ break;
452
+ }
453
+
454
+ message.message = reader.string();
455
+ continue;
456
+ }
457
+ }
458
+ if ((tag & 7) === 4 || tag === 0) {
459
+ break;
460
+ }
461
+ reader.skip(tag & 7);
462
+ }
463
+ return message;
464
+ },
465
+
466
+ fromJSON(object: any): RegisterOwnerCompinsateResponse {
467
+ return {
468
+ $type: RegisterOwnerCompinsateResponse.$type,
469
+ success: isSet(object.success) ? globalThis.Boolean(object.success) : false,
470
+ message: isSet(object.message) ? globalThis.String(object.message) : "",
471
+ };
472
+ },
473
+
474
+ toJSON(message: RegisterOwnerCompinsateResponse): unknown {
475
+ const obj: any = {};
476
+ if (message.success !== false) {
477
+ obj.success = message.success;
478
+ }
479
+ if (message.message !== "") {
480
+ obj.message = message.message;
481
+ }
482
+ return obj;
483
+ },
484
+
485
+ create<I extends Exact<DeepPartial<RegisterOwnerCompinsateResponse>, I>>(base?: I): RegisterOwnerCompinsateResponse {
486
+ return RegisterOwnerCompinsateResponse.fromPartial(base ?? ({} as any));
487
+ },
488
+ fromPartial<I extends Exact<DeepPartial<RegisterOwnerCompinsateResponse>, I>>(
489
+ object: I,
490
+ ): RegisterOwnerCompinsateResponse {
491
+ const message = createBaseRegisterOwnerCompinsateResponse();
492
+ message.success = object.success ?? false;
493
+ message.message = object.message ?? "";
494
+ return message;
495
+ },
496
+ };
497
+
498
+ export type OwnerServiceDefinition = typeof OwnerServiceDefinition;
499
+ export const OwnerServiceDefinition = {
500
+ name: "OwnerService",
501
+ fullName: "companies.v1.OwnerService",
502
+ methods: {
503
+ registerOwner: {
504
+ name: "RegisterOwner",
505
+ requestType: RegisterOwnerRequest,
506
+ requestStream: false,
507
+ responseType: RegisterOwnerResponse,
508
+ responseStream: false,
509
+ options: {},
510
+ },
511
+ registerOwnerCompinsate: {
512
+ name: "RegisterOwnerCompinsate",
513
+ requestType: RegisterOwnerCompinsateRequest,
514
+ requestStream: false,
515
+ responseType: RegisterOwnerCompinsateResponse,
516
+ responseStream: false,
517
+ options: {},
518
+ },
519
+ },
520
+ } as const;
521
+
522
+ export interface OwnerServiceImplementation<CallContextExt = {}> {
523
+ registerOwner(
524
+ request: RegisterOwnerRequest,
525
+ context: CallContext & CallContextExt,
526
+ ): Promise<DeepPartial<RegisterOwnerResponse>>;
527
+ registerOwnerCompinsate(
528
+ request: RegisterOwnerCompinsateRequest,
529
+ context: CallContext & CallContextExt,
530
+ ): Promise<DeepPartial<RegisterOwnerCompinsateResponse>>;
531
+ }
532
+
533
+ export interface OwnerServiceClient<CallOptionsExt = {}> {
534
+ registerOwner(
535
+ request: DeepPartial<RegisterOwnerRequest>,
536
+ options?: CallOptions & CallOptionsExt,
537
+ ): Promise<RegisterOwnerResponse>;
538
+ registerOwnerCompinsate(
539
+ request: DeepPartial<RegisterOwnerCompinsateRequest>,
540
+ options?: CallOptions & CallOptionsExt,
541
+ ): Promise<RegisterOwnerCompinsateResponse>;
542
+ }
543
+
544
+ type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
545
+
546
+ type DeepPartial<T> = T extends Builtin ? T
547
+ : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>
548
+ : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>
549
+ : T extends { $case: string } ? { [K in keyof Omit<T, "$case">]?: DeepPartial<T[K]> } & { $case: T["$case"] }
550
+ : T extends {} ? { [K in Exclude<keyof T, "$type">]?: DeepPartial<T[K]> }
551
+ : Partial<T>;
552
+
553
+ type KeysOfUnion<T> = T extends T ? keyof T : never;
554
+ type Exact<P, I extends P> = P extends Builtin ? P
555
+ : P & { [K in keyof P]: Exact<P[K], I[K]> } & { [K in Exclude<keyof I, KeysOfUnion<P> | "$type">]: never };
556
+
557
+ function isSet(value: any): boolean {
558
+ return value !== null && value !== undefined;
559
+ }
560
+
561
+ interface MessageFns<T, V extends string> {
562
+ readonly $type: V;
563
+ encode(message: T, writer?: BinaryWriter): BinaryWriter;
564
+ decode(input: BinaryReader | Uint8Array, length?: number): T;
565
+ fromJSON(object: any): T;
566
+ toJSON(message: T): unknown;
567
+ create<I extends Exact<DeepPartial<T>, I>>(base?: I): T;
568
+ fromPartial<I extends Exact<DeepPartial<T>, I>>(object: I): T;
569
+ }