@better-auth-ui/react 1.6.0 → 1.6.1

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.
@@ -280,6 +280,750 @@ export declare function useSignUpEmail(options?: UseAuthMutationOptions<AuthClie
280
280
  $ERROR_CODES: {
281
281
  INVALID_SESSION_TOKEN: import("better-auth").RawError<"INVALID_SESSION_TOKEN">;
282
282
  };
283
+ } | {
284
+ id: "passkey";
285
+ version: string;
286
+ $InferServerPlugin: ReturnType<(options?: import("@better-auth/passkey/client").PasskeyOptions | undefined) => {
287
+ id: "passkey";
288
+ version: string;
289
+ endpoints: {
290
+ generatePasskeyRegistrationOptions: import("better-auth").StrictEndpoint<"/passkey/generate-register-options", {
291
+ method: "GET";
292
+ use: ((inputContext: import("better-auth").MiddlewareInputContext<import("better-auth").MiddlewareOptions>) => Promise<{
293
+ session: {
294
+ session: Record<string, any> & {
295
+ id: string;
296
+ createdAt: Date;
297
+ updatedAt: Date;
298
+ userId: string;
299
+ expiresAt: Date;
300
+ token: string;
301
+ ipAddress?: string | null | undefined;
302
+ userAgent?: string | null | undefined;
303
+ };
304
+ user: Record<string, any> & {
305
+ id: string;
306
+ createdAt: Date;
307
+ updatedAt: Date;
308
+ email: string;
309
+ emailVerified: boolean;
310
+ name: string;
311
+ image?: string | null | undefined;
312
+ };
313
+ };
314
+ }>)[] | undefined;
315
+ query: import("zod").ZodOptional<import("zod").ZodObject<{
316
+ authenticatorAttachment: import("zod").ZodOptional<import("zod").ZodEnum<{
317
+ platform: "platform";
318
+ "cross-platform": "cross-platform";
319
+ }>>;
320
+ name: import("zod").ZodOptional<import("zod").ZodString>;
321
+ context: import("zod").ZodOptional<import("zod").ZodString>;
322
+ }, import("zod/v4/core").$strip>>;
323
+ metadata: {
324
+ openapi: {
325
+ operationId: string;
326
+ description: string;
327
+ responses: {
328
+ 200: {
329
+ description: string;
330
+ parameters: {
331
+ query: {
332
+ authenticatorAttachment: {
333
+ description: string;
334
+ required: boolean;
335
+ };
336
+ name: {
337
+ description: string;
338
+ required: boolean;
339
+ };
340
+ context: {
341
+ description: string;
342
+ required: boolean;
343
+ };
344
+ };
345
+ };
346
+ content: {
347
+ "application/json": {
348
+ schema: {
349
+ type: "object";
350
+ properties: {
351
+ challenge: {
352
+ type: string;
353
+ };
354
+ rp: {
355
+ type: string;
356
+ properties: {
357
+ name: {
358
+ type: string;
359
+ };
360
+ id: {
361
+ type: string;
362
+ };
363
+ };
364
+ };
365
+ user: {
366
+ type: string;
367
+ properties: {
368
+ id: {
369
+ type: string;
370
+ };
371
+ name: {
372
+ type: string;
373
+ };
374
+ displayName: {
375
+ type: string;
376
+ };
377
+ };
378
+ };
379
+ pubKeyCredParams: {
380
+ type: string;
381
+ items: {
382
+ type: string;
383
+ properties: {
384
+ type: {
385
+ type: string;
386
+ };
387
+ alg: {
388
+ type: string;
389
+ };
390
+ };
391
+ };
392
+ };
393
+ timeout: {
394
+ type: string;
395
+ };
396
+ excludeCredentials: {
397
+ type: string;
398
+ items: {
399
+ type: string;
400
+ properties: {
401
+ id: {
402
+ type: string;
403
+ };
404
+ type: {
405
+ type: string;
406
+ };
407
+ transports: {
408
+ type: string;
409
+ items: {
410
+ type: string;
411
+ };
412
+ };
413
+ };
414
+ };
415
+ };
416
+ authenticatorSelection: {
417
+ type: string;
418
+ properties: {
419
+ authenticatorAttachment: {
420
+ type: string;
421
+ };
422
+ requireResidentKey: {
423
+ type: string;
424
+ };
425
+ userVerification: {
426
+ type: string;
427
+ };
428
+ };
429
+ };
430
+ attestation: {
431
+ type: string;
432
+ };
433
+ extensions: {
434
+ type: string;
435
+ };
436
+ };
437
+ };
438
+ };
439
+ };
440
+ };
441
+ };
442
+ };
443
+ };
444
+ }, import("@better-auth/passkey/client").PublicKeyCredentialCreationOptionsJSON>;
445
+ generatePasskeyAuthenticationOptions: import("better-auth").StrictEndpoint<"/passkey/generate-authenticate-options", {
446
+ method: "GET";
447
+ metadata: {
448
+ openapi: {
449
+ operationId: string;
450
+ description: string;
451
+ responses: {
452
+ 200: {
453
+ description: string;
454
+ content: {
455
+ "application/json": {
456
+ schema: {
457
+ type: "object";
458
+ properties: {
459
+ challenge: {
460
+ type: string;
461
+ };
462
+ rp: {
463
+ type: string;
464
+ properties: {
465
+ name: {
466
+ type: string;
467
+ };
468
+ id: {
469
+ type: string;
470
+ };
471
+ };
472
+ };
473
+ user: {
474
+ type: string;
475
+ properties: {
476
+ id: {
477
+ type: string;
478
+ };
479
+ name: {
480
+ type: string;
481
+ };
482
+ displayName: {
483
+ type: string;
484
+ };
485
+ };
486
+ };
487
+ timeout: {
488
+ type: string;
489
+ };
490
+ allowCredentials: {
491
+ type: string;
492
+ items: {
493
+ type: string;
494
+ properties: {
495
+ id: {
496
+ type: string;
497
+ };
498
+ type: {
499
+ type: string;
500
+ };
501
+ transports: {
502
+ type: string;
503
+ items: {
504
+ type: string;
505
+ };
506
+ };
507
+ };
508
+ };
509
+ };
510
+ userVerification: {
511
+ type: string;
512
+ };
513
+ authenticatorSelection: {
514
+ type: string;
515
+ properties: {
516
+ authenticatorAttachment: {
517
+ type: string;
518
+ };
519
+ requireResidentKey: {
520
+ type: string;
521
+ };
522
+ userVerification: {
523
+ type: string;
524
+ };
525
+ };
526
+ };
527
+ extensions: {
528
+ type: string;
529
+ };
530
+ };
531
+ };
532
+ };
533
+ };
534
+ };
535
+ };
536
+ };
537
+ };
538
+ }, import("@better-auth/passkey/client").PublicKeyCredentialRequestOptionsJSON>;
539
+ verifyPasskeyRegistration: import("better-auth").StrictEndpoint<"/passkey/verify-registration", {
540
+ method: "POST";
541
+ body: import("zod").ZodObject<{
542
+ response: import("zod").ZodAny;
543
+ name: import("zod").ZodOptional<import("zod").ZodString>;
544
+ }, import("zod/v4/core").$strip>;
545
+ use: ((inputContext: import("better-auth").MiddlewareInputContext<import("better-auth").MiddlewareOptions>) => Promise<{
546
+ session: {
547
+ session: Record<string, any> & {
548
+ id: string;
549
+ createdAt: Date;
550
+ updatedAt: Date;
551
+ userId: string;
552
+ expiresAt: Date;
553
+ token: string;
554
+ ipAddress?: string | null | undefined;
555
+ userAgent?: string | null | undefined;
556
+ };
557
+ user: Record<string, any> & {
558
+ id: string;
559
+ createdAt: Date;
560
+ updatedAt: Date;
561
+ email: string;
562
+ emailVerified: boolean;
563
+ name: string;
564
+ image?: string | null | undefined;
565
+ };
566
+ };
567
+ }>)[] | undefined;
568
+ metadata: {
569
+ openapi: {
570
+ operationId: string;
571
+ description: string;
572
+ responses: {
573
+ 200: {
574
+ description: string;
575
+ content: {
576
+ "application/json": {
577
+ schema: {
578
+ $ref: string;
579
+ };
580
+ };
581
+ };
582
+ };
583
+ 400: {
584
+ description: string;
585
+ };
586
+ };
587
+ };
588
+ };
589
+ }, import("@better-auth/passkey/client").Passkey>;
590
+ verifyPasskeyAuthentication: import("better-auth").StrictEndpoint<"/passkey/verify-authentication", {
591
+ method: "POST";
592
+ body: import("zod").ZodObject<{
593
+ response: import("zod").ZodRecord<import("zod").ZodAny, import("zod").ZodAny>;
594
+ }, import("zod/v4/core").$strip>;
595
+ metadata: {
596
+ openapi: {
597
+ operationId: string;
598
+ description: string;
599
+ responses: {
600
+ 200: {
601
+ description: string;
602
+ content: {
603
+ "application/json": {
604
+ schema: {
605
+ type: "object";
606
+ properties: {
607
+ session: {
608
+ $ref: string;
609
+ };
610
+ user: {
611
+ $ref: string;
612
+ };
613
+ };
614
+ };
615
+ };
616
+ };
617
+ };
618
+ };
619
+ };
620
+ $Infer: {
621
+ body: {
622
+ response: import("@better-auth/passkey/client").AuthenticationResponseJSON;
623
+ };
624
+ };
625
+ };
626
+ }, {
627
+ session: {
628
+ id: string;
629
+ createdAt: Date;
630
+ updatedAt: Date;
631
+ userId: string;
632
+ expiresAt: Date;
633
+ token: string;
634
+ ipAddress?: string | null | undefined;
635
+ userAgent?: string | null | undefined;
636
+ };
637
+ }>;
638
+ listPasskeys: import("better-auth").StrictEndpoint<"/passkey/list-user-passkeys", {
639
+ method: "GET";
640
+ use: ((inputContext: import("better-auth").MiddlewareInputContext<import("better-auth").MiddlewareOptions>) => Promise<{
641
+ session: {
642
+ session: Record<string, any> & {
643
+ id: string;
644
+ createdAt: Date;
645
+ updatedAt: Date;
646
+ userId: string;
647
+ expiresAt: Date;
648
+ token: string;
649
+ ipAddress?: string | null | undefined;
650
+ userAgent?: string | null | undefined;
651
+ };
652
+ user: Record<string, any> & {
653
+ id: string;
654
+ createdAt: Date;
655
+ updatedAt: Date;
656
+ email: string;
657
+ emailVerified: boolean;
658
+ name: string;
659
+ image?: string | null | undefined;
660
+ };
661
+ };
662
+ }>)[];
663
+ metadata: {
664
+ openapi: {
665
+ description: string;
666
+ responses: {
667
+ "200": {
668
+ description: string;
669
+ content: {
670
+ "application/json": {
671
+ schema: {
672
+ type: "array";
673
+ items: {
674
+ $ref: string;
675
+ required: string[];
676
+ };
677
+ description: string;
678
+ };
679
+ };
680
+ };
681
+ };
682
+ };
683
+ };
684
+ };
685
+ }, import("@better-auth/passkey/client").Passkey[]>;
686
+ deletePasskey: import("better-auth").StrictEndpoint<"/passkey/delete-passkey", {
687
+ method: "POST";
688
+ body: import("zod").ZodObject<{
689
+ id: import("zod").ZodString;
690
+ }, import("zod/v4/core").$strip>;
691
+ use: (((inputContext: import("better-auth").MiddlewareInputContext<import("better-auth").MiddlewareOptions>) => Promise<{
692
+ session: {
693
+ session: Record<string, any> & {
694
+ id: string;
695
+ createdAt: Date;
696
+ updatedAt: Date;
697
+ userId: string;
698
+ expiresAt: Date;
699
+ token: string;
700
+ ipAddress?: string | null | undefined;
701
+ userAgent?: string | null | undefined;
702
+ };
703
+ user: Record<string, any> & {
704
+ id: string;
705
+ createdAt: Date;
706
+ updatedAt: Date;
707
+ email: string;
708
+ emailVerified: boolean;
709
+ name: string;
710
+ image?: string | null | undefined;
711
+ };
712
+ };
713
+ }>) | ((inputContext: import("better-auth").MiddlewareInputContext<import("better-auth").MiddlewareOptions>) => Promise<{
714
+ verifiedResource: {};
715
+ }>))[];
716
+ metadata: {
717
+ openapi: {
718
+ description: string;
719
+ responses: {
720
+ "200": {
721
+ description: string;
722
+ content: {
723
+ "application/json": {
724
+ schema: {
725
+ type: "object";
726
+ properties: {
727
+ status: {
728
+ type: string;
729
+ description: string;
730
+ };
731
+ };
732
+ required: string[];
733
+ };
734
+ };
735
+ };
736
+ };
737
+ };
738
+ };
739
+ };
740
+ }, {
741
+ status: boolean;
742
+ }>;
743
+ updatePasskey: import("better-auth").StrictEndpoint<"/passkey/update-passkey", {
744
+ method: "POST";
745
+ body: import("zod").ZodObject<{
746
+ id: import("zod").ZodString;
747
+ name: import("zod").ZodString;
748
+ }, import("zod/v4/core").$strip>;
749
+ use: (((inputContext: import("better-auth").MiddlewareInputContext<import("better-auth").MiddlewareOptions>) => Promise<{
750
+ session: {
751
+ session: Record<string, any> & {
752
+ id: string;
753
+ createdAt: Date;
754
+ updatedAt: Date;
755
+ userId: string;
756
+ expiresAt: Date;
757
+ token: string;
758
+ ipAddress?: string | null | undefined;
759
+ userAgent?: string | null | undefined;
760
+ };
761
+ user: Record<string, any> & {
762
+ id: string;
763
+ createdAt: Date;
764
+ updatedAt: Date;
765
+ email: string;
766
+ emailVerified: boolean;
767
+ name: string;
768
+ image?: string | null | undefined;
769
+ };
770
+ };
771
+ }>) | ((inputContext: import("better-auth").MiddlewareInputContext<import("better-auth").MiddlewareOptions>) => Promise<{
772
+ verifiedResource: {};
773
+ }>))[];
774
+ metadata: {
775
+ openapi: {
776
+ description: string;
777
+ responses: {
778
+ "200": {
779
+ description: string;
780
+ content: {
781
+ "application/json": {
782
+ schema: {
783
+ type: "object";
784
+ properties: {
785
+ passkey: {
786
+ $ref: string;
787
+ };
788
+ };
789
+ required: string[];
790
+ };
791
+ };
792
+ };
793
+ };
794
+ };
795
+ };
796
+ };
797
+ }, {
798
+ passkey: import("@better-auth/passkey/client").Passkey;
799
+ }>;
800
+ };
801
+ schema: {
802
+ passkey: {
803
+ fields: {
804
+ name: {
805
+ type: "string";
806
+ required: false;
807
+ };
808
+ publicKey: {
809
+ type: "string";
810
+ required: true;
811
+ };
812
+ userId: {
813
+ type: "string";
814
+ references: {
815
+ model: string;
816
+ field: string;
817
+ };
818
+ required: true;
819
+ index: true;
820
+ };
821
+ credentialID: {
822
+ type: "string";
823
+ required: true;
824
+ index: true;
825
+ };
826
+ counter: {
827
+ type: "number";
828
+ required: true;
829
+ };
830
+ deviceType: {
831
+ type: "string";
832
+ required: true;
833
+ };
834
+ backedUp: {
835
+ type: "boolean";
836
+ required: true;
837
+ };
838
+ transports: {
839
+ type: "string";
840
+ required: false;
841
+ };
842
+ createdAt: {
843
+ type: "date";
844
+ required: false;
845
+ };
846
+ aaguid: {
847
+ type: "string";
848
+ required: false;
849
+ };
850
+ };
851
+ };
852
+ };
853
+ $ERROR_CODES: {
854
+ CHALLENGE_NOT_FOUND: import("better-auth").RawError<"CHALLENGE_NOT_FOUND">;
855
+ YOU_ARE_NOT_ALLOWED_TO_REGISTER_THIS_PASSKEY: import("better-auth").RawError<"YOU_ARE_NOT_ALLOWED_TO_REGISTER_THIS_PASSKEY">;
856
+ FAILED_TO_VERIFY_REGISTRATION: import("better-auth").RawError<"FAILED_TO_VERIFY_REGISTRATION">;
857
+ PASSKEY_NOT_FOUND: import("better-auth").RawError<"PASSKEY_NOT_FOUND">;
858
+ AUTHENTICATION_FAILED: import("better-auth").RawError<"AUTHENTICATION_FAILED">;
859
+ UNABLE_TO_CREATE_SESSION: import("better-auth").RawError<"UNABLE_TO_CREATE_SESSION">;
860
+ FAILED_TO_UPDATE_PASSKEY: import("better-auth").RawError<"FAILED_TO_UPDATE_PASSKEY">;
861
+ PREVIOUSLY_REGISTERED: import("better-auth").RawError<"PREVIOUSLY_REGISTERED">;
862
+ REGISTRATION_CANCELLED: import("better-auth").RawError<"REGISTRATION_CANCELLED">;
863
+ AUTH_CANCELLED: import("better-auth").RawError<"AUTH_CANCELLED">;
864
+ UNKNOWN_ERROR: import("better-auth").RawError<"UNKNOWN_ERROR">;
865
+ SESSION_REQUIRED: import("better-auth").RawError<"SESSION_REQUIRED">;
866
+ RESOLVE_USER_REQUIRED: import("better-auth").RawError<"RESOLVE_USER_REQUIRED">;
867
+ RESOLVED_USER_INVALID: import("better-auth").RawError<"RESOLVED_USER_INVALID">;
868
+ };
869
+ options: import("@better-auth/passkey/client").PasskeyOptions | undefined;
870
+ }>;
871
+ getActions: ($fetch: import("better-auth/react").BetterFetch, $store: import("better-auth").ClientStore) => {
872
+ signIn: {
873
+ passkey: (opts?: {
874
+ autoFill?: boolean;
875
+ extensions?: import("@better-auth/passkey/client").AuthenticationExtensionsClientInputs;
876
+ returnWebAuthnResponse?: boolean;
877
+ fetchOptions?: import("better-auth").ClientFetchOption;
878
+ } | undefined, options?: import("better-auth").ClientFetchOption | undefined) => Promise<{
879
+ data: null;
880
+ error: {
881
+ message?: string | undefined;
882
+ status: number;
883
+ statusText: string;
884
+ };
885
+ } | {
886
+ data: {
887
+ session: {
888
+ id: string;
889
+ createdAt: Date;
890
+ updatedAt: Date;
891
+ userId: string;
892
+ expiresAt: Date;
893
+ token: string;
894
+ ipAddress?: string | null | undefined;
895
+ userAgent?: string | null | undefined;
896
+ };
897
+ user: {
898
+ id: string;
899
+ createdAt: Date;
900
+ updatedAt: Date;
901
+ email: string;
902
+ emailVerified: boolean;
903
+ name: string;
904
+ image?: string | null | undefined;
905
+ };
906
+ };
907
+ error: null;
908
+ } | {
909
+ webauthn: {
910
+ response: import("@better-auth/passkey/client").AuthenticationResponseJSON;
911
+ clientExtensionResults: import("@better-auth/passkey/client").AuthenticationExtensionsClientOutputs;
912
+ };
913
+ data: null;
914
+ error: {
915
+ message?: string | undefined;
916
+ status: number;
917
+ statusText: string;
918
+ };
919
+ } | {
920
+ webauthn: {
921
+ response: import("@better-auth/passkey/client").AuthenticationResponseJSON;
922
+ clientExtensionResults: import("@better-auth/passkey/client").AuthenticationExtensionsClientOutputs;
923
+ };
924
+ data: {
925
+ session: {
926
+ id: string;
927
+ createdAt: Date;
928
+ updatedAt: Date;
929
+ userId: string;
930
+ expiresAt: Date;
931
+ token: string;
932
+ ipAddress?: string | null | undefined;
933
+ userAgent?: string | null | undefined;
934
+ };
935
+ user: {
936
+ id: string;
937
+ createdAt: Date;
938
+ updatedAt: Date;
939
+ email: string;
940
+ emailVerified: boolean;
941
+ name: string;
942
+ image?: string | null | undefined;
943
+ };
944
+ };
945
+ error: null;
946
+ } | {
947
+ data: null;
948
+ error: {
949
+ code: string;
950
+ message: string;
951
+ status: number;
952
+ statusText: string;
953
+ };
954
+ }>;
955
+ };
956
+ passkey: {
957
+ addPasskey: (opts?: {
958
+ fetchOptions?: import("better-auth").ClientFetchOption;
959
+ name?: string;
960
+ authenticatorAttachment?: "platform" | "cross-platform";
961
+ context?: string | null;
962
+ extensions?: import("@better-auth/passkey/client").AuthenticationExtensionsClientInputs;
963
+ useAutoRegister?: boolean;
964
+ returnWebAuthnResponse?: boolean;
965
+ } | undefined, fetchOpts?: import("better-auth").ClientFetchOption | undefined) => Promise<{
966
+ data: null;
967
+ error: {
968
+ message?: string | undefined;
969
+ status: number;
970
+ statusText: string;
971
+ };
972
+ } | {
973
+ data: import("@better-auth/passkey/client").Passkey;
974
+ error: null;
975
+ } | {
976
+ webauthn: {
977
+ response: import("@better-auth/passkey/client").RegistrationResponseJSON;
978
+ clientExtensionResults: import("@better-auth/passkey/client").AuthenticationExtensionsClientOutputs;
979
+ };
980
+ data: import("@better-auth/passkey/client").Passkey;
981
+ error: null;
982
+ } | {
983
+ data: null;
984
+ error: {
985
+ code: string;
986
+ message: string;
987
+ status: number;
988
+ statusText: string;
989
+ };
990
+ }>;
991
+ };
992
+ $Infer: {
993
+ Passkey: import("@better-auth/passkey/client").Passkey;
994
+ };
995
+ };
996
+ getAtoms($fetch: import("better-auth/react").BetterFetch): {
997
+ listPasskeys: import("better-auth/client").AuthQueryAtom<import("@better-auth/passkey/client").Passkey[]>;
998
+ $listPasskeys: import("better-auth/react").PreinitializedWritableAtom<any> & object;
999
+ };
1000
+ pathMethods: {
1001
+ "/passkey/register": "POST";
1002
+ "/passkey/authenticate": "POST";
1003
+ };
1004
+ atomListeners: ({
1005
+ matcher(path: string): path is "/passkey/delete-passkey" | "/passkey/update-passkey" | "/passkey/verify-registration" | "/sign-out";
1006
+ signal: "$listPasskeys";
1007
+ } | {
1008
+ matcher: (path: string) => path is "/passkey/verify-authentication";
1009
+ signal: "$sessionSignal";
1010
+ })[];
1011
+ $ERROR_CODES: {
1012
+ CHALLENGE_NOT_FOUND: import("better-auth").RawError<"CHALLENGE_NOT_FOUND">;
1013
+ YOU_ARE_NOT_ALLOWED_TO_REGISTER_THIS_PASSKEY: import("better-auth").RawError<"YOU_ARE_NOT_ALLOWED_TO_REGISTER_THIS_PASSKEY">;
1014
+ FAILED_TO_VERIFY_REGISTRATION: import("better-auth").RawError<"FAILED_TO_VERIFY_REGISTRATION">;
1015
+ PASSKEY_NOT_FOUND: import("better-auth").RawError<"PASSKEY_NOT_FOUND">;
1016
+ AUTHENTICATION_FAILED: import("better-auth").RawError<"AUTHENTICATION_FAILED">;
1017
+ UNABLE_TO_CREATE_SESSION: import("better-auth").RawError<"UNABLE_TO_CREATE_SESSION">;
1018
+ FAILED_TO_UPDATE_PASSKEY: import("better-auth").RawError<"FAILED_TO_UPDATE_PASSKEY">;
1019
+ PREVIOUSLY_REGISTERED: import("better-auth").RawError<"PREVIOUSLY_REGISTERED">;
1020
+ REGISTRATION_CANCELLED: import("better-auth").RawError<"REGISTRATION_CANCELLED">;
1021
+ AUTH_CANCELLED: import("better-auth").RawError<"AUTH_CANCELLED">;
1022
+ UNKNOWN_ERROR: import("better-auth").RawError<"UNKNOWN_ERROR">;
1023
+ SESSION_REQUIRED: import("better-auth").RawError<"SESSION_REQUIRED">;
1024
+ RESOLVE_USER_REQUIRED: import("better-auth").RawError<"RESOLVE_USER_REQUIRED">;
1025
+ RESOLVED_USER_INVALID: import("better-auth").RawError<"RESOLVED_USER_INVALID">;
1026
+ };
283
1027
  } | {
284
1028
  id: "username";
285
1029
  version: string;