UNPKG

42.9 kBTypeScriptView Raw
1// Type definitions for auth0 2.20.0
2// Project: https://github.com/auth0/node-auth0
3// Definitions by: Seth Westphal <https://github.com/westy92>
4// Ian Howe <https://github.com/ianhowe76>
5// Alex Bjørlig <https://github.com/dauledk>
6// Dan Rumney <https://github.com/dancrumb>
7// Peter <https://github.com/pwrnrd>
8// Anthony Messerschmidt <https://github.com/CatGuardian>
9// Meng Bernie Sung <https://github.com/MengRS>
10// Léo Haddad Carneiro <https://github.com/Scoup>
11// Isabela Morais <https://github.com/isabela-morais>
12// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
13// TypeScript Version: 2.8
14
15export interface ManagementClientOptions {
16 token?: string;
17 domain: string;
18 clientId?: string;
19 clientSecret?: string;
20 audience?: string;
21 scope?: string;
22 tokenProvider?: TokenProvider;
23 retry?: RetryOptions;
24}
25
26export interface TokenProvider {
27 enableCache: boolean;
28 cacheTTLInSeconds?: number;
29}
30
31export interface RetryOptions {
32 /**
33 * Default value is `true`.
34 */
35 enabled?: boolean;
36 /**
37 * Default value is `10`.
38 */
39 maxRetries?: number;
40}
41
42export interface UserMetadata {
43 [propName: string]: any
44}
45
46export interface AppMetadata {
47 [propName: string]: any
48}
49
50export interface UserData<A = AppMetadata, U=UserMetadata> {
51 email?: string;
52 username?: string;
53 email_verified?: boolean;
54 verify_email?: boolean;
55 user_id?: string;
56 blocked?: boolean;
57 nickname?: string;
58 picture?: string;
59 password?: string;
60 phone_number?: string;
61 phone_verified?: boolean;
62 given_name?: string;
63 family_name?: string;
64 name?: string;
65 user_metadata?: U;
66 app_metadata?: A;
67}
68
69export interface CreateUserData extends UserData {
70 connection: string;
71}
72
73export interface UpdateUserData extends UserData {
74 connection?: string;
75 blocked?: boolean;
76 verify_phone_number?: boolean,
77 verify_password?: boolean,
78 client_id?: string
79}
80
81export interface GetUsersData {
82 per_page?: number;
83 page?: number;
84 sort?: string;
85 connection?: string;
86 fields?: string;
87 include_fields?: boolean;
88 q?: string;
89 search_engine?: string;
90}
91
92export interface GetUsersDataPaged extends GetUsersData {
93 include_totals: boolean;
94}
95
96export interface Rule {
97 /**
98 * The name of the rule.
99 */
100 name?: string;
101 /**
102 * The rule's identifier.
103 */
104 id?: string;
105 /**
106 * The code to be executed when the rule runs.
107 */
108 script?: string;
109 /**
110 * The rule's execution stage.
111 */
112 stage?: string;
113 /**
114 * `true` if the connection is enabled, `false` otherwise.
115 */
116 enabled?: boolean;
117 /**
118 * The rule's order in relation to other rules. A rule with a lower order than another rule executes first.
119 */
120 order?: number;
121}
122
123export interface RulesConfig {
124 /**
125 * Key for a rules config variable.
126 */
127 key: string;
128}
129
130export interface RulesConfigData {
131 /**
132 * Value for a rules config variable.
133 */
134 value: string
135}
136
137export interface Role {
138 id?: string;
139 name?: string;
140 description?: string;
141}
142
143export interface GetRolesData {
144 name_filter?: string;
145 per_page?: number;
146 page?: number;
147}
148
149export interface GetRolesDataPaged extends GetRolesData {
150 include_totals: boolean;
151}
152
153export interface RolePage extends Page {
154 roles: Role[];
155}
156
157export interface CreateRoleData {
158 name: string;
159 description?: string;
160}
161
162export interface UpdateRoleData {
163 name?: string;
164 description?: string;
165}
166
167export interface RolesData {
168 roles: string[];
169}
170
171export interface Permission {
172 resource_server_identifier?: string;
173 permission_name?: string;
174 resource_server_name?: string;
175 description?: string;
176}
177
178export interface PermissionsData {
179 permissions: PermissionData[]
180}
181
182export interface PermissionData {
183 resource_server_identifier: string;
184 permission_name: string;
185}
186
187export interface GetRolePermissionsData extends ObjectWithId {
188 per_page?: number;
189 page?: number;
190}
191
192export interface GetRolePermissionsDataPaged extends GetRolePermissionsData {
193 include_totals: boolean;
194}
195
196export interface GetRoleUsersData extends ObjectWithId {
197 per_page?: number;
198 page?: number;
199}
200
201export interface GetRoleUsersDataPaged extends GetRoleUsersData {
202 include_totals: boolean;
203}
204
205export interface PermissionPage extends Page {
206 permissions: Permission[];
207}
208
209export type Grant =
210 | 'authorization_code'
211 | 'client_credentials'
212 | 'implicit'
213 | 'password'
214 | 'refresh_token';
215
216export interface Client {
217 /**
218 * The name of the client.
219 */
220 name?: string;
221 /**
222 * Free text description of the purpose of the Client. (Max character length: `140`).
223 */
224 description?: string;
225 /**
226 * The id of the client.
227 */
228 client_id?: string;
229 /**
230 * The client secret, it must not be public.
231 */
232 client_secret?: string;
233 /**
234 * The type of application this client represents.
235 */
236 app_type?: string;
237 /**
238 * The URL of the client logo (recommended size: 150x150).
239 */
240 logo_uri?: string;
241 /**
242 * Whether this client a first party client or not.
243 */
244 is_first_party?: boolean;
245 /**
246 * Whether this client will conform to strict OIDC specifications.
247 */
248 oidc_conformant?: boolean;
249 /**
250 * The URLs that Auth0 can use to as a callback for the client.
251 */
252 callbacks?: string[];
253 allowed_origins?: string[];
254 web_origins?: string[];
255 client_aliases?: string[];
256 allowed_clients?: string[];
257 allowed_logout_urls?: string[];
258 jwt_configuration?: {
259 // The amount of time (in seconds) that the token will be valid after being issued
260 lifetime_in_seconds?: number;
261 scopes?: {};
262 // The algorithm used to sign the JsonWebToken
263 alg?: 'HS256' | 'RS256';
264 };
265 /**
266 * A set of grant types that the client is authorized to use
267 */
268 grant_types?: Grant[];
269 /**
270 * Client signing keys.
271 */
272 signing_keys?: string[];
273 encryption_key?: {
274 pub?: string;
275 cert?: string;
276 subject?: string;
277 };
278 sso?: boolean;
279 /**
280 * `true` to disable Single Sign On, `false` otherwise (default: `false`)
281 */
282 sso_disabled?: boolean;
283 /**
284 * `true` if this client can be used to make cross-origin authentication requests, `false` otherwise (default: `false`)
285 */
286 cross_origin_auth?: boolean;
287 /**
288 * Url of the location in your site where the cross origin verification takes place for the cross-origin auth flow when performing Auth in your own domain instead of Auth0 hosted login page.
289 */
290 cross_origin_loc?: string;
291 /**
292 * `true` if the custom login page is to be used, `false` otherwise. (default: `true`)
293 */
294 custom_login_page_on?: boolean;
295 custom_login_page?: string;
296 custom_login_page_preview?: string;
297 form_template?: string;
298 addons?: any;
299 /**
300 * Defines the requested authentication method for the token endpoint. Possible values are 'none' (public client without a client secret), 'client_secret_post' (client uses HTTP POST parameters) or 'client_secret_basic' (client uses HTTP Basic) ['none' or 'client_secret_post' or 'client_secret_basic']
301 */
302 token_endpoint_auth_method?: string;
303 client_metadata?: any;
304 mobile?: any;
305 initiate_login_uri?: string;
306}
307
308export interface ResourceServer {
309 /**
310 * The identifier of the resource server.
311 */
312 identifier?: string;
313 scopes?: { description: string, value: string }[];
314 /**
315 * The algorithm used to sign tokens.
316 */
317 signing_alg?: 'HS256' | 'RS256';
318 /**
319 * The secret used to sign tokens when using symmetric algorithms.
320 */
321 signing_secret?: string;
322 /**
323 * Allows issuance of refresh tokens for this entity.
324 */
325 allow_offline_access?: boolean;
326 /**
327 * Flag this entity as capable of skipping consent.
328 */
329 skip_consent_for_verifiable_first_party_clients?: boolean;
330 /**
331 * The amount of time (in seconds) that the token will be valid after being issued.
332 */
333 token_lifetime?: number;
334 /**
335 * The amount of time (in seconds) that the token will be valid after being issued from browser based flows. Value cannot be larger than token_lifetime..
336 */
337 token_lifetime_for_web?: number;
338 /**
339 * The ID of the resource server.
340 */
341 id?: string;
342 /**
343 * A friendly name for the resource server.
344 */
345 name?: string;
346 /**
347 * Enables the enforcement of the authorization policies.
348 */
349 enforce_policies?: boolean;
350 /**
351 * The dialect for the access token.
352 */
353 token_dialect?: 'access_token' | 'access_token_authz';
354}
355
356export interface CreateResourceServer extends ResourceServer {
357 /**
358 * The identifier of the client.
359 */
360 identifier: string;
361}
362
363export interface CreateClientGrant {
364 /**
365 * The identifier of the resource server.
366 */
367 client_id: string;
368 /**
369 * The audience.
370 */
371 audience: string;
372 scope: string[];
373}
374
375export type UpdateClientGrant = Pick<Partial<CreateClientGrant>, 'scope'>;
376
377export type ClientGrant = Partial<CreateClientGrant> & {
378 /**
379 * The id of the client grant.
380 */
381 id?: string;
382};
383
384export interface GetClientGrantsOptions {
385 /** @default 10 */
386 per_page?: number;
387 /** @default 0 */
388 page?: number;
389 /**
390 * The audience.
391 */
392 audience?: string;
393 /**
394 * The id of the client (application).
395 */
396 client_id?: string;
397}
398
399export interface GetClientGrantsOptionsPaged extends GetClientGrantsOptions {
400 /**
401 * true if a query summary must be included in the result, false otherwise
402 * @default false
403 */
404 include_totals?: boolean;
405}
406
407export interface ClientGrantPage extends Page {
408 client_grants: ClientGrant[]
409}
410
411export interface CreateClientGrant {
412 /**
413 * The identifier of the resource server.
414 */
415 client_id: string;
416 /**
417 * The audience.
418 */
419 audience: string;
420 scope: string[];
421}
422
423export type Strategy =
424 'ad' | 'adfs' | 'amazon' | 'dropbox' | 'bitbucket' | 'aol' | 'auth0-adldap' | 'auth0-oidc' |
425 'auth0' | 'baidu' | 'bitly' | 'box' | 'custom' | 'daccount' | 'dwolla' | 'email' |
426 'evernote-sandbox' | 'evernote' | 'exact' | 'facebook' | 'fitbit' | 'flickr' | 'github' |
427 'google-apps' | 'google-oauth2' | 'guardian' | 'instagram' | 'ip' | 'linkedin' | 'miicard' |
428 'oauth1' | 'oauth2' | 'office365' | 'paypal' | 'paypal-sandbox' | 'pingfederate' |
429 'planningcenter' | 'renren' | 'salesforce-community' | 'salesforce-sandbox' | 'salesforce' |
430 'samlp' | 'sharepoint' | 'shopify' | 'sms' | 'soundcloud' | 'thecity-sandbox' | 'thecity' |
431 'thirtysevensignals' | 'twitter' | 'untappd' | 'vkontakte' | 'waad' | 'weibo' | 'windowslive' |
432 'wordpress' | 'yahoo' | 'yammer' | 'yandex';
433
434export interface UpdateConnection {
435 options?: any;
436 /**
437 * The identifiers of the clients for which the connection is to
438 * be enabled. If the array is empty or the property is not
439 * specified, no clients are enabled.
440 */
441 enabled_clients?: string[];
442 /**
443 * Defines the realms for which the connection will be used
444 * (ie: email domains). If the array is empty or the property is
445 * not specified, the connection name will be added as realm.
446 */
447 realms?: string[];
448 metadata?: any;
449 /**
450 * True if the connection is domain level.
451 */
452 is_domain_connection?: boolean;
453}
454
455export interface Connection extends UpdateConnection {
456 /**
457 * The connection's identifier.
458 */
459 id?: string;
460 /**
461 * The name of the connection.
462 */
463 name?: string;
464 /**
465 * The type of the connection, related to the identity provider.
466 */
467 strategy?: Strategy;
468}
469
470export interface CreateConnection extends UpdateConnection {
471 /**
472 * The name of the connection. Must start and end with an
473 * alphanumeric character and can only contain alphanumeric
474 * characters and '-'. Max length 128.
475 */
476 name: string;
477 /**
478 * The identity provider identifier for the connection.
479 */
480 strategy: Strategy;
481}
482
483export interface User<A=AppMetadata, U=UserMetadata> {
484 email?: string;
485 email_verified?: boolean;
486 username?: string;
487 phone_number?: string;
488 phone_verified?: boolean;
489 user_id?: string;
490 created_at?: string;
491 updated_at?: string;
492 identities?: Identity[];
493 app_metadata?: A;
494 user_metadata?: U;
495 picture?: string;
496 name?: string;
497 nickname?: string;
498 multifactor?: string[];
499 last_ip?: string;
500 last_login?: string;
501 last_password_reset?: string;
502 logins_count?: number;
503 blocked?: boolean;
504 given_name?: string;
505 family_name?: string;
506}
507
508export interface Page {
509 start: number;
510 limit: number;
511 length: number;
512 total: number;
513}
514
515export interface UserPage<A=AppMetadata, U=UserMetadata> extends Page {
516 users: User<A, U>[];
517}
518
519export interface GetUserRolesData extends ObjectWithId {
520 page?: number;
521 per_page?: number;
522}
523
524export interface GetUserRolesDataPaged extends GetUserRolesData {
525 include_totals: boolean;
526}
527
528export interface GetUserPermissionsData extends ObjectWithId {
529 page?: number;
530 per_page?: number;
531}
532
533export interface GetUserPermissionsDataPaged extends GetUserPermissionsData {
534 include_totals: boolean;
535}
536
537export interface Identity {
538 connection: string;
539 user_id: string;
540 provider: string;
541 isSocial: boolean;
542 access_token?: string;
543 profileData?: {
544 email?: string;
545 email_verified?: boolean;
546 name?: string;
547 phone_number?: string;
548 phone_verified?: boolean;
549 request_language?: string;
550 }
551}
552
553export interface AuthenticationClientOptions {
554 clientId?: string;
555 clientSecret?: string;
556 domain: string;
557}
558
559interface Environment {
560 name: string;
561 version: string;
562}
563
564export interface ClientInfo {
565 name: string;
566 version: string;
567 dependencies: any[];
568 environment: Environment[];
569}
570
571export interface RequestEmailOptions {
572 email: string;
573 authParams: {};
574}
575
576export interface RequestSMSOptions {
577 phone_number: string;
578}
579
580export interface VerifyOptions {
581 username: string;
582 password: string;
583}
584
585export interface DelegationTokenOptions {
586 id_token: string;
587 api_type: string;
588 scope: string;
589 target: string;
590 grant_type: string;
591}
592
593export interface ResetPasswordOptions {
594 connection: string;
595 email: string;
596 password: string;
597}
598
599export interface ResetPasswordEmailOptions {
600 email: string;
601 connection: string;
602}
603
604export interface ClientCredentialsGrantOptions {
605 audience: string;
606 scope?: string;
607}
608
609export interface PasswordGrantOptions {
610 username: string;
611 password: string;
612 realm?: string;
613 scope?: string;
614}
615
616export interface AuthorizationCodeGrantOptions {
617 code: string;
618 redirect_uri: string;
619}
620
621export interface TokenResponse {
622 access_token: string;
623 token_type: string;
624 expires_in: number;
625 scope?: string;
626 id_token?: string;
627}
628
629export interface ObjectWithId {
630 id: string;
631}
632
633export interface Data {
634 name?: string;
635 [propName: string]: any;
636}
637
638export interface ClientParams {
639 client_id: string;
640}
641
642export type DeleteDeleteMultifactorParamsProvider = 'duo' | 'google-authenticator';
643
644export interface DeleteMultifactorParams {
645 id: string;
646 provider: DeleteDeleteMultifactorParamsProvider;
647}
648
649export type UnlinkAccountsParamsProvider = 'ad' | 'adfs' | 'amazon' | 'dropbox' | 'bitbucket' | 'aol' | 'auth0-adldap' |
650 'auth0-oidc' | 'auth0' | 'baidu' | 'bitly' | 'box' | 'custom' | 'dwolla' | 'email' | 'evernote-sandbox' | 'evernote' |
651 'exact' | 'facebook' | 'fitbit' | 'flickr' | 'github' | 'google-apps' | 'google-oauth2' | 'guardian' | 'instagram' |
652 'ip' | 'linkedin' | 'miicard' | 'oauth1' | 'oauth2' | 'office365' | 'paypal' | 'paypal-sandbox' | 'pingfederate' |
653 'planningcenter' | 'renren' | 'salesforce-community' | 'salesforce-sandbox' | 'salesforce' | 'samlp' | 'sharepoint' |
654 'shopify' | 'sms' | 'soundcloud' | 'thecity-sandbox' | 'thecity' | 'thirtysevensignals' | 'twitter' | 'untappd' |
655 'vkontakte' | 'waad' | 'weibo' | 'windowslive' | 'wordpress' | 'yahoo' | 'yammer' | 'yandex';
656
657export interface UnlinkAccountsParams {
658 id: string;
659 provider: UnlinkAccountsParamsProvider;
660 user_id: string;
661}
662
663export interface UnlinkAccountsResponseProfile {
664 email?: string;
665 email_verified?: boolean;
666 name?: string;
667 username?: string;
668 given_name?: string;
669 phone_number?: string;
670 phone_verified?: boolean;
671 family_name?: string;
672}
673
674export interface UnlinkAccountsResponse {
675 connection: string;
676 user_id: string;
677 provider: string;
678 isSocial?: boolean;
679 access_token?: string;
680 profileData?: UnlinkAccountsResponseProfile
681}
682
683export interface LinkAccountsParams {
684 user_id: string;
685 connection_id?: string;
686 provider?: string;
687}
688
689export interface Token {
690 aud: string;
691 jti: string;
692}
693
694export interface StatsParams {
695 from: string;
696 to: string;
697}
698
699export type Job = ImportUsersJob | ExportUsersJob | VerificationEmailJob;
700
701export type JobFormat = 'csv' | 'json';
702
703export type JobStatus = 'pending' | 'processing' | 'completed' | 'failed';
704
705export interface ExportUsersJob {
706 id: string;
707 type: 'users_export';
708 status: JobStatus;
709 created_at?: string;
710 connection_id?: string;
711 fields?: ExportUserField[];
712 location?: string;
713 format?: JobFormat;
714}
715
716export interface ImportUsersJob {
717 id: string;
718 type: 'users_import';
719 status: JobStatus;
720 created_at?: string;
721 connection_id?: string;
722 upsert?: boolean;
723 external_id?: string;
724 send_completion_email?: boolean;
725}
726
727export interface VerificationEmailJob {
728 id: string;
729 type: 'verification_email';
730 status: JobStatus;
731 created_at?: string;
732}
733
734export type CustomDomainVerificationMethod = 'txt';
735
736export type CustomDomainStatus = 'disabled' | 'pending' | 'pending_verification' | 'ready';
737
738export type CustomDomainType = 'auth0_managed_certs' | 'self_managed_certs';
739
740export interface CreateDomainData {
741 domain: string;
742 type: CustomDomainType;
743 verification_method?: CustomDomainVerificationMethod;
744 tls_policy?: string;
745 custom_client_ip_header?: string;
746}
747
748export interface Domain {
749 custom_domain_id: string;
750 domain: string;
751 primary: boolean;
752 status: CustomDomainStatus;
753 type: CustomDomainType;
754 origin_domain_name?: string;
755 verification: {
756 methods: any[];
757 };
758 custom_client_ip_header?: string;
759 tls_policy?: string;
760}
761
762export interface DomainVerification extends Domain {
763 cname_api_key?: string;
764}
765
766export interface BaseImportUsersOptions {
767 connection_id: string;
768 upsert?: boolean;
769 external_id?: string;
770 send_completion_email?: boolean;
771}
772
773export interface ImportUsersFromFileOptions extends BaseImportUsersOptions {
774 users: string;
775}
776
777export interface ImportUsersFromJsonOptions extends BaseImportUsersOptions {
778 users_json: string;
779}
780
781export type ImportUsersOptions = ImportUsersFromFileOptions | ImportUsersFromJsonOptions;
782
783export interface ExportUsersOptions {
784 connection_id?: string;
785 format?: JobFormat;
786 limit?: number;
787 fields?: ExportUserField[]
788}
789
790export interface UserIdParams {
791 user_id: string;
792 client_id?: string;
793}
794
795export interface ExportUserField {
796 name: string;
797 export_as?: string;
798}
799
800export interface PasswordChangeTicketParams {
801 result_url?: string;
802 user_id?: string;
803 new_password?: string;
804 connection_id?: string;
805 email?: string;
806 ttl_sec?: number;
807 mark_email_as_verified?: boolean;
808 includeEmailInRedirect?: boolean;
809}
810
811export interface PasswordChangeTicketResponse {
812 ticket: string;
813}
814
815export interface EmailVerificationTicketOptions {
816 user_id: string;
817 result_url: string;
818}
819
820export interface BaseClientOptions {
821 baseUrl: string;
822 clientId?: string;
823}
824
825export interface OAuthClientOptions extends BaseClientOptions {
826 clientSecret?: string;
827}
828
829export interface DatabaseClientOptions extends BaseClientOptions {
830}
831
832export interface PasswordLessClientOptions extends BaseClientOptions {
833}
834
835export interface TokenManagerOptions extends BaseClientOptions {
836 headers?: any;
837}
838export interface UsersOptions extends BaseClientOptions {
839 headers?: any;
840}
841
842export interface CustomDomainsManagerOptions extends BaseClientOptions {
843 headers?: any;
844 retry?: RetryOptions;
845}
846
847export interface SignInOptions extends VerifyOptions {
848 connection?: string;
849}
850
851export interface SocialSignInOptions {
852 access_token: string;
853 connection: string;
854}
855
856export interface SignInToken {
857 access_token: string;
858 id_token?: string;
859 token_type?: string;
860 expiry: number;
861}
862
863export interface RequestSMSCodeOptions extends RequestSMSOptions {
864 client_id: string;
865}
866
867export type SendType = 'link' | 'code';
868export interface RequestEmailCodeOrLinkOptions {
869 email: string;
870 send: SendType
871}
872
873export interface ImpersonateSettingOptions {
874 impersonator_id: string;
875 protocol: string;
876 token: string;
877 clientId?: string;
878}
879
880export type ClientAppType = 'native' | 'spa' | 'regular_web' | 'non_interactive' | 'rms' | 'box' |
881 'cloudbees' | 'concur' | 'dropbox' | 'mscrm' | 'echosign' | 'egnyte' | 'newrelic' | 'office365' |
882 'salesforce' | 'sentry' | 'sharepoint' | 'slack' | 'springcm' | 'zendesk' | 'zoom';
883export interface GetClientsOptions {
884 fields?: string[];
885 include_fields?: boolean;
886 page?: number;
887 per_page?: number;
888 include_totals?: boolean;
889 is_global?: boolean;
890 is_first_party?: boolean;
891 app_type?: ClientAppType[];
892}
893
894export interface ObjectWithIdentifier {
895 identifier: string;
896}
897
898export interface BlockedForEntry {
899 identifier: string;
900 ip?: string;
901}
902
903export interface UserBlocks {
904 blocked_for: BlockedForEntry[];
905}
906
907export type EnrollmentStatus = 'pending' | 'confirmed';
908
909export type AuthMethod = 'authentication' | 'guardian' | 'sms';
910
911export interface Enrollment {
912 id: string;
913 status: EnrollmentStatus;
914 enrolled_at: string;
915 last_auth: string;
916 type: string;
917 auth_method: AuthMethod;
918}
919
920export class AuthenticationClient {
921
922 // Members
923 database?: DatabaseAuthenticator;
924 oauth?: OAuthAuthenticator;
925 passwordless?: PasswordlessAuthenticator;
926 tokens?: TokenManager;
927 users?: UsersManager;
928
929 constructor(options: AuthenticationClientOptions);
930 getClientInfo(): ClientInfo;
931
932 requestMagicLink(data: RequestEmailOptions): Promise<any>;
933 requestMagicLink(data: RequestEmailOptions, cb: (err: Error, message: string) => void): void;
934
935 requestEmailCode(data: RequestEmailOptions): Promise<any>;
936 requestEmailCode(data: RequestEmailOptions, cb: (err: Error, message: string) => void): void;
937
938 requestSMSCode(data: RequestSMSOptions): Promise<any>;
939 requestSMSCode(data: RequestSMSOptions, cb: (err: Error, message: string) => void): void;
940
941 verifyEmailCode(data: VerifyOptions): Promise<any>;
942 verifyEmailCode(data: VerifyOptions, cb: (err: Error, message: string) => void): void;
943
944 verifySMSCode(data: VerifyOptions): Promise<any>;
945 verifySMSCode(data: VerifyOptions, cb: (err: Error, message: string) => void): void;
946
947 getDelegationToken(data: DelegationTokenOptions): Promise<any>;
948 getDelegationToken(data: DelegationTokenOptions, cb: (err: Error, message: string) => void): void;
949
950 changePassword(data: ResetPasswordOptions): Promise<any>;
951 changePassword(data: ResetPasswordOptions, cb: (err: Error, message: string) => void): void;
952
953 requestChangePasswordEmail(data: ResetPasswordEmailOptions): Promise<any>;
954 requestChangePasswordEmail(data: ResetPasswordEmailOptions, cb: (err: Error, message: string) => void): void;
955
956 getProfile(accessToken: string): Promise<any>;
957 getProfile(accessToken: string, cb: (err: Error, message: string) => void): void;
958
959 clientCredentialsGrant(options: ClientCredentialsGrantOptions): Promise<TokenResponse>;
960 clientCredentialsGrant(options: ClientCredentialsGrantOptions, cb: (err: Error, response: TokenResponse) => void): void;
961
962 passwordGrant(options: PasswordGrantOptions): Promise<TokenResponse>;
963 passwordGrant(options: PasswordGrantOptions, cb: (err: Error, response: TokenResponse) => void): void;
964
965}
966
967
968export class ManagementClient<A=AppMetadata, U=UserMetadata> {
969 constructor(options: ManagementClientOptions);
970
971 getClientInfo(): ClientInfo;
972
973 // Connections
974 getConnections(): Promise<Connection[]>;
975 getConnections(cb: (err: Error, connections: Connection[]) => void): void;
976
977 createConnection(data: CreateConnection): Promise<Connection>;
978 createConnection(data: CreateConnection, cb: (err: Error, connection: Connection) => void): void;
979
980 getConnection(params: ObjectWithId, cb: (err: Error, connection: Connection) => void): void;
981 getConnection(params: ObjectWithId): Promise<Connection>;
982
983 deleteConnection(params: ObjectWithId, cb: (err: Error) => void): void;
984 deleteConnection(params: ObjectWithId): Promise<void>;
985
986 updateConnection(params: ObjectWithId, data: UpdateConnection, cb: (err: Error, connection: Connection) => void): void;
987 updateConnection(params: ObjectWithId, data: UpdateConnection): Promise<Connection>;
988
989
990 // Clients
991 getClients(params?: GetClientsOptions): Promise<Client[]>;
992 getClients(cb: (err: Error, clients: Client[]) => void ): void;
993 getClients(params: GetClientsOptions, cb: (err: Error, clients: Client[]) => void ): void;
994
995 getClient(params: ClientParams): Promise<Client>;
996 getClient(params: ClientParams, cb: (err: Error, client: Client) => void): void;
997
998 createClient(data: Data): Promise<Client>;
999 createClient(data: Data, cb: (err: Error, client: Client) => void): void;
1000
1001 updateClient(params: ClientParams, data: Data): Promise<Client>;
1002 updateClient(params: ClientParams, data: Data, cb: (err: Error, client: Client) => void): void;
1003
1004 deleteClient(params: ClientParams): Promise<void>;
1005 deleteClient(params: ClientParams, cb: (err: Error) => void): void;
1006
1007
1008 // Client Grants
1009 getClientGrants(): Promise<ClientGrant[]>;
1010 getClientGrants(cb: (err: Error, data: ClientGrant[]) => void): void;
1011 getClientGrants(params: GetClientGrantsOptions): Promise<ClientGrant[]>;
1012 getClientGrants(params: GetClientGrantsOptions, cb: (err: Error, data: ClientGrant[]) => void): void;
1013 getClientGrants(params: GetClientGrantsOptionsPaged): Promise<ClientGrantPage>;
1014 getClientGrants(params: GetClientGrantsOptionsPaged, cb: (err: Error, data: ClientGrantPage) => void): void;
1015
1016 createClientGrant(data: CreateClientGrant): Promise<ClientGrant>;
1017 createClientGrant(data: CreateClientGrant, cb: (err: Error, data: ClientGrant) => void): void;
1018
1019 updateClientGrant(params: ObjectWithId, data: UpdateClientGrant): Promise<ClientGrant>;
1020 updateClientGrant(params: ObjectWithId, data: UpdateClientGrant, cb: (err: Error, data: ClientGrant) => void): void;
1021
1022 deleteClientGrant(params: ObjectWithId): Promise<void>;
1023 deleteClientGrant(params: ObjectWithId, cb: (err: Error) => void): void;
1024
1025
1026 // Device Keys
1027 getDeviceCredentials(): Promise<User<A, U>>;
1028 getDeviceCredentials(cb: (err: Error, data: any) => void): void;
1029
1030 createDevicePublicKey(data: Data): Promise<User<A, U>>;
1031 createDevicePublicKey(data: Data, cb: (err: Error, data: any) => void): void;
1032
1033 deleteDeviceCredential(params: ClientParams): Promise<User<A, U>>;
1034 deleteDeviceCredential(params: ClientParams, cb: (err: Error, data: any) => void): void;
1035
1036 // Roles
1037 getRoles(): Promise<Role[]>;
1038 getRoles(cb: (err: Error, roles: Role[]) => void): void;
1039 getRoles(params: GetRolesData): Promise<Role[]>;
1040 getRoles(params: GetRolesData, cb: (err: Error, roles: Role[]) => void): void;
1041 getRoles(params: GetRolesDataPaged): Promise<RolePage>;
1042 getRoles(params: GetRolesDataPaged, cb: (err: Error, rolePage: RolePage) => void): void;
1043
1044 createRole(data: CreateRoleData): Promise<Role>;
1045 createRole(data: CreateRoleData, cb: (err: Error, role: Role) => void): void;
1046
1047 getRole(params: ObjectWithId): Promise<Role>;
1048 getRole(params: ObjectWithId, cb: (err: Error, role: Role) => void): void;
1049
1050 deleteRole(params: ObjectWithId): Promise<void>;
1051 deleteRole(params: ObjectWithId, cb: (err: Error) => void): void;
1052
1053 updateRole(params: ObjectWithId, data: UpdateRoleData): Promise<Role>;
1054 updateRole(params: ObjectWithId, data: UpdateRoleData, cb: (err: Error, role: Role) => void): void;
1055
1056 getPermissionsInRole(params: ObjectWithId): Promise<Permission[]>;
1057 getPermissionsInRole(params: ObjectWithId, cb: (err: Error, permissions: Permission[]) => void): void;
1058 getPermissionsInRole(params: GetRolePermissionsData): Promise<Permission[]>;
1059 getPermissionsInRole(params: GetRolePermissionsData, cb: (err: Error, permissions: Permission[]) => void): void;
1060 getPermissionsInRole(params: GetRolePermissionsDataPaged): Promise<PermissionPage>;
1061 getPermissionsInRole(params: GetRolePermissionsDataPaged, cb: (err: Error, permissionPage: PermissionPage) => void): void;
1062
1063 removePermissionsFromRole(params: ObjectWithId, data: PermissionsData): Promise<void>;
1064 removePermissionsFromRole(params: ObjectWithId, data: PermissionsData, cb: (err: Error) => void): void;
1065
1066 addPermissionsInRole(params: ObjectWithId, data: PermissionsData): Promise<void>;
1067 addPermissionsInRole(params: ObjectWithId, data: PermissionsData, cb: (err: Error) => void): void;
1068
1069 getUsersInRole(params: GetRoleUsersDataPaged): Promise<UserPage<A, U>>;
1070 getUsersInRole(params: GetRoleUsersDataPaged, cb: (err: Error, userPage: UserPage<A, U>) => void): void;
1071 getUsersInRole(params: GetRoleUsersData): Promise<User<A, U>[]>;
1072 getUsersInRole(params: GetRoleUsersData, cb: (err: Error, users: User<A, U>[]) => void): void;
1073 getUsersInRole(params: ObjectWithId): Promise<User<A, U>[]>;
1074 getUsersInRole(params: ObjectWithId, cb: (err: Error, users: User<A, U>[]) => void): void;
1075
1076 // Rules
1077 getRules(): Promise<Rule[]>;
1078 getRules(cb: (err: Error, rules: Rule[]) => void): void;
1079
1080 getRule(params: ClientParams): Promise<Rule>;
1081 getRule(params: ClientParams, cb: (err: Error, rule: Rule) => void): void;
1082
1083 createRule(data: Data): Promise<Rule>;
1084 createRule(data: Data, cb: (err: Error, rule: Rule) => void): void;
1085
1086 updateRule(params: ObjectWithId, data: Data): Promise<Rule>;
1087 updateRule(params: ObjectWithId, data: Data, cb: (err: Error, rule: Rule) => void): void;
1088
1089 deleteRule(params: ObjectWithId): Promise<void>;
1090 deleteRule(params: ObjectWithId, cb: (err: Error) => void): void;
1091
1092 // Rules Configurations
1093 getRulesConfigs(): Promise<RulesConfig[]>;
1094 getRulesConfigs(cb: (err: Error, rulesConfigs: RulesConfig[]) => void): void;
1095
1096 setRulesConfig(params: RulesConfig, data: RulesConfigData): Promise<RulesConfig & RulesConfigData>;
1097 setRulesConfig(params: RulesConfig, data: RulesConfigData,
1098 cb: (err: Error, rulesConfig: RulesConfig & RulesConfigData) => void):void;
1099
1100 deleteRulesConfig(params: RulesConfig): Promise<void>;
1101 deleteRulesConfig(params: RulesConfig, cb: (err: Error) => void): void;
1102
1103 // Users
1104 getUsers(params: GetUsersDataPaged): Promise<UserPage<A, U>>;
1105 getUsers(params: GetUsersDataPaged, cb: (err: Error, userPage: UserPage<A, U>) => void): void;
1106 getUsers(params?: GetUsersData): Promise<User<A, U>[]>;
1107 getUsers(cb: (err: Error, users: User<A, U>[]) => void): void;
1108 getUsers(params?: GetUsersData, cb?: (err: Error, users: User<A, U>[]) => void): void;
1109
1110 getUser(params: ObjectWithId): Promise<User<A, U>>;
1111 getUser(params: ObjectWithId, cb?: (err: Error, user: User<A, U>) => void): void;
1112
1113 getUsersByEmail(email: string): Promise<User<A, U>[]>;
1114 getUsersByEmail(email: string, cb?: (err: Error, users: User<A, U>[]) => void): void;
1115
1116 createUser(data: CreateUserData): Promise<User<A, U>>;
1117 createUser(data: CreateUserData, cb: (err: Error, user: User<A, U>) => void): void;
1118
1119 updateUser(params: ObjectWithId, data: UpdateUserData): Promise<User<A, U>>;
1120 updateUser(params: ObjectWithId, data: UpdateUserData, cb: (err: Error, data: User<A, U>) => void): void;
1121
1122 updateUserMetadata(params: ObjectWithId, data: U): Promise<User<A, U>>;
1123 updateUserMetadata(params: ObjectWithId, data: U, cb: (err: Error, data: User<A, U>) => void): void;
1124
1125 // Should be removed from auth0 also. Doesn't exist in api.
1126 deleteAllUsers(): Promise<User<A, U>>;
1127 deleteAllUsers(cb: (err: Error, data: any) => void): void;
1128
1129 deleteUser(params: ObjectWithId): Promise<void>;
1130 deleteUser(params: ObjectWithId, cb?: (err: Error) => void): void;
1131
1132 updateAppMetadata(params: ObjectWithId, data: A): Promise<User<A, U>>;
1133 updateAppMetadata(params: ObjectWithId, data: A, cb: (err: Error, data: User<A, U>) => void): void;
1134
1135 deleteUserMultifactor(params: DeleteMultifactorParams): Promise<void>;
1136 deleteUserMultifactor(params: DeleteMultifactorParams, cb: (err: Error) => void): void;
1137
1138 unlinkUsers(params: UnlinkAccountsParams): Promise<UnlinkAccountsResponse>;
1139 unlinkUsers(params: UnlinkAccountsParams, cb: (err: Error, data: UnlinkAccountsResponse) => void): void;
1140
1141 linkUsers(userId: string, params: LinkAccountsParams): Promise<any>;
1142 linkUsers(userId: string, params: LinkAccountsParams, cb: (err: Error, data: any) => void): void;
1143
1144 // User roles
1145 getUserRoles(params: ObjectWithId): Promise<Role[]>;
1146 getUserRoles(params: ObjectWithId, cb: (err: Error, roles: Role[]) => void): void;
1147 getUserRoles(params: GetUserRolesData): Promise<Role[]>;
1148 getUserRoles(params: GetUserRolesData, cb: (err: Error, roles: Role[]) => void): void;
1149 getUserRoles(params: GetUserRolesDataPaged): Promise<RolePage>;
1150 getUserRoles(params: GetUserRolesDataPaged, cb: (err: Error, rolePage: RolePage) => void): void;
1151
1152 removeRolesFromUser(params: ObjectWithId, data: RolesData): Promise<void>;
1153 removeRolesFromUser(params: ObjectWithId, data: RolesData, cb: (err: Error) => void): void
1154
1155 // The lowercase 't' is like this in the auth0 sdk
1156 assignRolestoUser(params: ObjectWithId, data: RolesData): Promise<void>;
1157 assignRolestoUser(params: ObjectWithId, data: RolesData, cb: (err: Error) => void): void;
1158
1159 // User permissions
1160 getUserPermissions(params: ObjectWithId): Promise<Permission[]>;
1161 getUserPermissions(params: ObjectWithId, cb: (err: Error, permissions: Permission[]) => void): void;
1162 getUserPermissions(params: GetUserPermissionsData): Promise<Permission[]>;
1163 getUserPermissions(params: GetUserPermissionsData, cb: (err: Error, permissions: Permission[]) => void): void;
1164 getUserPermissions(params: GetUserPermissionsDataPaged): Promise<PermissionPage>;
1165 getUserPermissions(params: GetUserPermissionsDataPaged, cb: (err: Error, permissionPage: PermissionPage) => void): void;
1166
1167 removePermissionsFromUser(params: ObjectWithId, data: PermissionsData): Promise<void>;
1168 removePermissionsFromUser(params: ObjectWithId, data: PermissionsData, cb: (err: Error) => void): void;
1169
1170 assignPermissionsToUser(params: ObjectWithId, data: PermissionsData): Promise<void>;
1171 assignPermissionsToUser(params: ObjectWithId, data: PermissionsData, cb: (err: Error) => void): void;
1172
1173 // User Blocks
1174 getUserBlocks(params: ObjectWithId): Promise<UserBlocks>;
1175 getUserBlocks(params: ObjectWithId, cb: (err: Error, response: UserBlocks) => void): void;
1176 getUserBlocksByIdentifier(params: ObjectWithIdentifier): Promise<UserBlocks>;
1177 getUserBlocksByIdentifier(params: ObjectWithIdentifier, cb: (err: Error, response: UserBlocks) => void): void;
1178 unblockUser(params: ObjectWithId): Promise<string>;
1179 unblockUser(params: ObjectWithId, cb: (err: Error, response: string) => void): void;
1180 unblockUserByIdentifier(params: ObjectWithIdentifier): Promise<string>;
1181 unblockUserByIdentifier(params: ObjectWithIdentifier, cb: (err: Error, response: string) => void): void;
1182
1183 // Tokens
1184 getBlacklistedTokens(): Promise<any>;
1185 getBlacklistedTokens(cb?: (err: Error, data: any) => void): void;
1186
1187 blacklistToken(token: Token): Promise<any>;
1188 blacklistToken(token: Token, cb: (err: Error, data: any) => void): void;
1189
1190
1191 // Templates
1192 createEmailTemplate(data: Data): Promise<any>;
1193 createEmailTemplate(data: Data, cb?: (err: Error) => void): void;
1194
1195 getEmailTemplate(data: Data): Promise<any>;
1196 getEmailTemplate(data: Data, cb?: (err: Error, data: any) => void): void;
1197
1198 updateEmailTemplate(params: {}, data: Data): Promise<any>;
1199 updateEmailTemplate(params: {}, data: Data, cb?: (err: Error, data: any) => void): void;
1200
1201
1202 // Providers
1203 getEmailProvider(): Promise<any>;
1204 getEmailProvider(cb?: (err: Error, data: any) => void): void;
1205
1206 configureEmailProvider(data: Data): Promise<any>;
1207 configureEmailProvider(data: Data, cb: (err: Error, data: any) => void): void;
1208
1209 deleteEmailProvider(): Promise<any>;
1210 deleteEmailProvider(cb?: (err: Error, data: any) => void): void;
1211
1212 updateEmailProvider(params: {}, data: Data): Promise<any>;
1213 updateEmailProvider(params: {}, data: Data, cb?: (err: Error, data: any) => void): void;
1214
1215
1216 // Statistics
1217 getActiveUsersCount(): Promise<any>;
1218 getActiveUsersCount(cb?: (err: Error, data: any) => void): void;
1219
1220 getDailyStats(data: StatsParams): Promise<any>;
1221 getDailyStats(data: StatsParams, cb: (err: Error, data: any) => void): void;
1222
1223
1224 // Tenant
1225 getTenantSettings(): Promise<any>;
1226 getTenantSettings(cb?: (err: Error, data: any) => void): void;
1227
1228 updateTenantSettings(data: Data): Promise<any>;
1229 updateTenantSettings(data: Data, cb?: (err: Error, data: any) => void): void;
1230
1231
1232 // Jobs
1233 getJob(params: ObjectWithId): Promise<Job>;
1234 getJob(params: ObjectWithId, cb?: (err: Error, data: Job) => void): void;
1235
1236 importUsers(data: ImportUsersOptions): Promise<ImportUsersJob>;
1237 importUsers(data: ImportUsersOptions, cb?: (err: Error, data: ImportUsersJob) => void): void;
1238
1239 exportUsers(data: ExportUsersOptions): Promise<ExportUsersJob>;
1240 exportUsers(data: ExportUsersOptions, cb?: (err: Error, data: ExportUsersJob) => void): void;
1241
1242 sendEmailVerification(data: UserIdParams): Promise<VerificationEmailJob>;
1243 sendEmailVerification(data: UserIdParams, cb?: (err: Error, data: VerificationEmailJob) => void): void;
1244
1245 // Tickets
1246 createPasswordChangeTicket(params: PasswordChangeTicketParams): Promise<PasswordChangeTicketResponse>;
1247 createPasswordChangeTicket(params: PasswordChangeTicketParams, cb?: (err: Error, data: PasswordChangeTicketResponse) => void): void;
1248
1249 createEmailVerificationTicket(data: EmailVerificationTicketOptions): Promise<any>;
1250 createEmailVerificationTicket(data: EmailVerificationTicketOptions, cb?: (err: Error, data: any) => void): void;
1251
1252 // Logs
1253 getLog(params: ObjectWithId): Promise<any>;
1254 getLog(params: ObjectWithId, cb?: (err: Error, data: any) => void): void;
1255
1256 getLogs(): Promise<any>;
1257 getLogs(cb?: (err: Error, data: any) => void): void;
1258
1259
1260 // Resource Server
1261 createResourceServer(data: CreateResourceServer): Promise<ResourceServer>;
1262 createResourceServer(data: CreateResourceServer, cb?: (err: Error, data: ResourceServer) => void): void;
1263
1264 getResourceServers(): Promise<ResourceServer[]>;
1265 getResourceServers(cb?: (err: Error, data: ResourceServer[]) => void): void;
1266
1267 getResourceServer(data: ObjectWithId): Promise<ResourceServer>;
1268 getResourceServer(data: ObjectWithId, cb?: (err: Error, data: ResourceServer) => void): void;
1269
1270 deleteResourceServer(params: ObjectWithId): Promise<void>;
1271 deleteResourceServer(params: ObjectWithId, cb?: (err: Error) => void): void;
1272
1273 updateResourceServer(params: ObjectWithId, data: ResourceServer): Promise<ResourceServer>;
1274 updateResourceServer(params: ObjectWithId, data: ResourceServer, cb?: (err: Error, data: ResourceServer) => void): void;
1275
1276 // Custom Domains
1277 createCustomDomain(data: CreateDomainData): Promise<Domain>;
1278 createCustomDomain(data: CreateDomainData, cb: (err: Error, domain: Domain) => void): void;
1279
1280 getCustomDomains(): Promise<Domain[]>;
1281 getCustomDomains(cb: (err: Error, data: Domain[]) => void): void;
1282
1283 getCustomDomain(params: ObjectWithId): Promise<Domain>;
1284 getCustomDomain(params: ObjectWithId, cb: (err: Error, data: Domain) => void): void;
1285
1286
1287 verifyCustomDomain(params: ObjectWithId): Promise<DomainVerification>;
1288 verifyCustomDomain(params: ObjectWithId, cb: (err: Error, data: DomainVerification) => void): void;
1289
1290 deleteCustomDomain(params: ObjectWithId): Promise<void>;
1291 deleteCustomDomain(params: ObjectWithId, cb: (err: Error) => void): void;
1292
1293 // User enrollment
1294 getGuardianEnrollments(params: ObjectWithId): Promise<Enrollment[]>;
1295 getGuardianEnrollments(params: ObjectWithId, cb: (err: Error, response: Enrollment[]) => void): void;
1296
1297 deleteGuardianEnrollment(params: ObjectWithId): Promise<void>;
1298 deleteGuardianEnrollment(params: ObjectWithId, cb?: (err: Error) => void): void;
1299
1300 //MFA invalidate remember browser
1301 invalidateRememberBrowser(params: ObjectWithId): Promise<void>;
1302 invalidateRememberBrowser(params: ObjectWithId, cb?: (err: Error) => void): void;
1303}
1304
1305
1306export class DatabaseAuthenticator<A=AppMetadata, U=UserMetadata> {
1307 constructor(options: DatabaseClientOptions, oauth: OAuthAuthenticator);
1308
1309 changePassword(data: ResetPasswordOptions): Promise<any>;
1310 changePassword(data: ResetPasswordOptions, cb: (err: Error, message: string) => void): void;
1311
1312 requestChangePasswordEmail(data: ResetPasswordEmailOptions): Promise<any>;
1313 requestChangePasswordEmail(data: ResetPasswordEmailOptions, cb: (err: Error, message: string) => void): void;
1314
1315 signIn(data: SignInOptions): Promise<SignInToken>;
1316 signIn(data: SignInOptions, cb: (err: Error, data: SignInToken) => void): void;
1317
1318 signUp(data: CreateUserData): Promise<User<A, U>>;
1319 signIn(data: CreateUserData, cb: (err: Error, data: User) => void): void;
1320
1321}
1322
1323export class OAuthAuthenticator {
1324 constructor(options: OAuthClientOptions);
1325
1326 passwordGrant(options: PasswordGrantOptions): Promise<SignInToken>;
1327 passwordGrant(options: PasswordGrantOptions, cb: (err: Error, response: SignInToken) => void): void;
1328
1329 signIn(data: SignInOptions): Promise<SignInToken>;
1330 signIn(data: SignInOptions, cb: (err: Error, data: SignInToken) => void): void;
1331
1332
1333 socialSignIn(data: SocialSignInOptions): Promise<SignInToken>;
1334 socialSignIn(data: SocialSignInOptions, cb: (err: Error, data: SignInToken) => void): void;
1335
1336 authorizationCodeGrant(data: AuthorizationCodeGrantOptions): Promise<SignInToken>;
1337 authorizationCodeGrant(data: AuthorizationCodeGrantOptions, cb: (err: Error, data: SignInToken) => void): void;
1338}
1339
1340export class PasswordlessAuthenticator {
1341 constructor(options: PasswordLessClientOptions, oauth: OAuthAuthenticator);
1342
1343 signIn(data: SignInOptions): Promise<SignInToken>;
1344 signIn(data: SignInOptions, cb: (err: Error, data: SignInToken) => void): void;
1345
1346 sendEmail(data: RequestEmailCodeOrLinkOptions): Promise<any>;
1347 sendEmail(data: RequestEmailCodeOrLinkOptions, cb: (err: Error, message: string) => void): void;
1348
1349 sendSMS(data: RequestSMSCodeOptions): Promise<any>;
1350 sendSMS(data: RequestSMSCodeOptions, cb: (err: Error, message: string) => void): void;
1351}
1352
1353export class TokenManager {
1354 constructor(options: TokenManagerOptions);
1355
1356}
1357
1358export class UsersManager<A=AppMetadata, U=UserMetadata> {
1359 constructor(options: UsersOptions);
1360
1361 getInfo(accessToken: string): Promise<User<A, U>>;
1362 getInfo(accessToken: string, cb: (err: Error, user: User<A, U>) => void): void;
1363
1364 impersonate(userId: string, settings: ImpersonateSettingOptions): Promise<any>;
1365 impersonate(userId: string, settings: ImpersonateSettingOptions, cb: (err: Error, data: any) => void): void;
1366}