@flusys/ng-auth 1.0.0-beta → 1.1.0-beta

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flusys/ng-auth",
3
- "version": "1.0.0-beta",
3
+ "version": "1.1.0-beta",
4
4
  "description": "Authentication module for FLUSYS Angular applications",
5
5
  "license": "MIT",
6
6
  "peerDependencies": {
@@ -8,9 +8,9 @@
8
8
  "@angular/core": "^21.0.0",
9
9
  "@angular/forms": "^21.0.0",
10
10
  "@angular/router": "^21.0.0",
11
- "@flusys/ng-core": "^1.0.0-beta",
12
- "@flusys/ng-layout": "^1.0.0-beta",
13
- "@flusys/ng-shared": "^1.0.0-beta",
11
+ "@flusys/ng-core": "^1.1.0-beta",
12
+ "@flusys/ng-layout": "^1.1.0-beta",
13
+ "@flusys/ng-shared": "^1.1.0-beta",
14
14
  "@primeuix/themes": "^1.0.0",
15
15
  "primeicons": "^7.0.0",
16
16
  "primeng": "^21.0.0"
@@ -1,4 +1,4 @@
1
- import { IMessageResponse, ApiResourceService, ISingleResponse, IUserProvider, IListResponse, IUserBasicInfo, ICompanyApiProvider, ICompanyBasicInfo, IUserPermissionProvider } from '@flusys/ng-shared';
1
+ import { IMessageResponse, ApiResourceService, ISingleResponse, IUserProvider, IListResponse, IUserBasicInfo, ICompanyApiProvider, ICompanyBasicInfo, IUserPermissionProvider, IProfileRoleInfo, IProfileActionInfo, UploadFileFn } from '@flusys/ng-shared';
2
2
  import * as rxjs from 'rxjs';
3
3
  import { Observable } from 'rxjs';
4
4
  import * as _angular_core from '@angular/core';
@@ -8,6 +8,7 @@ import { CanActivateFn, Routes } from '@angular/router';
8
8
  import { ILayoutAuthApi, ICompanyInfo as ICompanyInfo$1, IBranchInfo as IBranchInfo$1, ILayoutAuthState, IUserInfo as IUserInfo$1 } from '@flusys/ng-layout';
9
9
  import * as _angular_forms_signals from '@angular/forms/signals';
10
10
  import * as _flusys_ng_auth from '@flusys/ng-auth';
11
+ import * as _flusys_ng_core from '@flusys/ng-core';
11
12
 
12
13
  /**
13
14
  * Login Request Interface
@@ -62,6 +63,7 @@ interface IUserInfo {
62
63
  id: string;
63
64
  email: string;
64
65
  name?: string;
66
+ phone?: string | null;
65
67
  profilePictureId?: string | null;
66
68
  companyId?: string;
67
69
  branchId?: string;
@@ -134,12 +136,13 @@ interface IMeResponse {
134
136
  * Returned on successful registration
135
137
  */
136
138
  interface IRegistrationResponse {
137
- accessToken: string;
138
- refreshToken: string;
139
+ accessToken?: string;
140
+ refreshToken?: string;
139
141
  user: IUserInfo;
140
142
  company?: ICompanyInfo;
141
143
  branch?: IBranchInfo;
142
144
  companyFeatureEnabled?: boolean;
145
+ requiresEmailVerification?: boolean;
143
146
  }
144
147
  /**
145
148
  * Company Selection Response Interface
@@ -160,9 +163,21 @@ interface IRefreshTokenResponse {
160
163
  refreshToken?: string;
161
164
  }
162
165
  /**
163
- * Auth Response Type - Can be login success or company selection required
166
+ * Login Response when email verification required
167
+ */
168
+ interface ILoginRequiresEmailVerification {
169
+ requiresEmailVerification: true;
170
+ email: string;
171
+ message: string;
172
+ }
173
+ /**
174
+ * Auth Response Type - Can be login success, company selection, or email verification required
164
175
  */
165
- type AuthResponse = ILoginResponse | ICompanySelectionResponse;
176
+ type AuthResponse = ILoginResponse | ICompanySelectionResponse | ILoginRequiresEmailVerification;
177
+ /**
178
+ * Type guard to check if response requires email verification
179
+ */
180
+ declare function isEmailVerificationRequired(response: AuthResponse): response is ILoginRequiresEmailVerification;
166
181
  /**
167
182
  * Type guard to check if response requires company selection
168
183
  */
@@ -445,6 +460,16 @@ declare class AuthApiService {
445
460
  * Reset password with token
446
461
  */
447
462
  resetPassword(token: string, newPassword: string): Observable<IMessageResponse>;
463
+ /**
464
+ * Resend verification email (unauthenticated)
465
+ */
466
+ resendVerification(email: string): Observable<IMessageResponse>;
467
+ /**
468
+ * Verify email with token
469
+ * Returns IMessageResponse for existing user verification
470
+ * Returns IRegistrationResponse for pending registration completion
471
+ */
472
+ verifyEmail(token: string): Observable<IMessageResponse | IRegistrationResponse>;
448
473
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AuthApiService, never>;
449
474
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AuthApiService>;
450
475
  }
@@ -848,21 +873,7 @@ declare const guestGuard: CanActivateFn;
848
873
  declare const companyFeatureGuard: CanActivateFn;
849
874
 
850
875
  /**
851
- * Auth Interceptor
852
- * Adds Authorization header and tenant header to HTTP requests.
853
- *
854
- * - Adds Bearer token for authenticated requests (including /auth/me)
855
- * - Adds tenant header for multi-tenant mode
856
- * - Adds withCredentials for auth endpoints (cookies)
857
- *
858
- * @example
859
- * ```typescript
860
- * // In app.config.ts
861
- * provideHttpClient(
862
- * withFetch(),
863
- * withInterceptors([authInterceptor, tokenRefreshInterceptor])
864
- * )
865
- * ```
876
+ * Auth Interceptor - Adds auth headers and cookie credentials to requests
866
877
  */
867
878
  declare function authInterceptor(req: HttpRequest<unknown>, next: HttpHandlerFn): Observable<HttpEvent<unknown>>;
868
879
 
@@ -901,6 +912,11 @@ declare const AUTH_ROUTES: Routes;
901
912
  * Uses tabbed interface - all under /administration with child routes
902
913
  */
903
914
  declare const ADMINISTRATION_ROUTES: Routes;
915
+ /**
916
+ * Profile Routes Configuration
917
+ * Protected route for user profile management
918
+ */
919
+ declare const PROFILE_ROUTES: Routes;
904
920
 
905
921
  /**
906
922
  * Auth Layout State Adapter
@@ -1101,6 +1117,10 @@ declare const AUTH_ENDPOINTS: {
1101
1117
  readonly REGISTER: "/auth/register";
1102
1118
  readonly SELECT: "/auth/select";
1103
1119
  readonly SWITCH_COMPANY: "/auth/switch-company";
1120
+ readonly VERIFY_EMAIL: "/auth/verify-email";
1121
+ readonly FORGOT_PASSWORD: "/auth/forgot-password";
1122
+ readonly RESET_PASSWORD: "/auth/reset-password";
1123
+ readonly RESEND_VERIFICATION: "/auth/resend-verification";
1104
1124
  };
1105
1125
  /**
1106
1126
  * Check if a URL is an auth-related endpoint
@@ -1291,6 +1311,25 @@ declare class CompanyListComponent implements OnInit {
1291
1311
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<CompanyListComponent, "lib-company-list", never, {}, {}, never, never, true, never>;
1292
1312
  }
1293
1313
 
1314
+ interface IForgotPasswordFormModel {
1315
+ email: string;
1316
+ }
1317
+ declare class ForgotPasswordPageComponent {
1318
+ private readonly destroyRef;
1319
+ private readonly messageService;
1320
+ private readonly authApi;
1321
+ readonly isLoading: _angular_core.WritableSignal<boolean>;
1322
+ readonly emailSent: _angular_core.WritableSignal<boolean>;
1323
+ readonly submittedEmail: _angular_core.WritableSignal<string>;
1324
+ readonly formModel: _angular_core.WritableSignal<IForgotPasswordFormModel>;
1325
+ readonly forgotForm: _angular_forms_signals.FieldTree<IForgotPasswordFormModel, string | number>;
1326
+ readonly isFormValid: _angular_core.Signal<boolean>;
1327
+ onSubmit(): void;
1328
+ resetForm(): void;
1329
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ForgotPasswordPageComponent, never>;
1330
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ForgotPasswordPageComponent, "lib-forgot-password-page", never, {}, {}, never, never, true, never>;
1331
+ }
1332
+
1294
1333
  /** Login form model interface */
1295
1334
  interface ILoginFormModel {
1296
1335
  email: string;
@@ -1303,7 +1342,7 @@ interface ISelectionFormModel {
1303
1342
  branchId: string;
1304
1343
  rememberSelection: boolean;
1305
1344
  }
1306
- type LoginStep = 'credentials' | 'company-selection';
1345
+ type LoginStep = 'credentials' | 'company-selection' | 'email-verification';
1307
1346
  /**
1308
1347
  * Login Page Component
1309
1348
  * Multi-step authentication flow:
@@ -1316,12 +1355,10 @@ declare class LoginPageComponent implements OnInit {
1316
1355
  private readonly messageService;
1317
1356
  private readonly authApi;
1318
1357
  private readonly authState;
1319
- /** Return URL after successful login */
1320
1358
  readonly returnUrl: _angular_core.InputSignal<string>;
1321
- /** Current step in login flow */
1322
1359
  readonly currentStep: _angular_core.WritableSignal<LoginStep>;
1323
- /** Loading state */
1324
1360
  readonly isLoading: _angular_core.WritableSignal<boolean>;
1361
+ readonly unverifiedEmail: _angular_core.WritableSignal<string>;
1325
1362
  /** Login form model */
1326
1363
  readonly loginFormModel: _angular_core.WritableSignal<ILoginFormModel>;
1327
1364
  /** Login form with validation schema */
@@ -1350,12 +1387,94 @@ declare class LoginPageComponent implements OnInit {
1350
1387
  onCompanyChange(): void;
1351
1388
  onSelectCompany(): void;
1352
1389
  goBackToCredentials(): void;
1390
+ onResendVerification(): void;
1353
1391
  private autoSelectIfSingle;
1354
1392
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<LoginPageComponent, never>;
1355
1393
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<LoginPageComponent, "lib-login-page", never, { "returnUrl": { "alias": "returnUrl"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1356
1394
  }
1357
1395
 
1358
- /** User registration form model */
1396
+ /** Profile form model */
1397
+ interface IProfileFormModel {
1398
+ name: string;
1399
+ phone: string;
1400
+ }
1401
+ /** Password form model */
1402
+ interface IPasswordFormModel {
1403
+ currentPassword: string;
1404
+ newPassword: string;
1405
+ confirmPassword: string;
1406
+ }
1407
+ /**
1408
+ * Profile Page Component
1409
+ *
1410
+ * Allows users to view and update their profile information.
1411
+ * Features:
1412
+ * - Update name, phone, profile picture (if storage enabled)
1413
+ * - View company/branch info (read-only, if company feature enabled)
1414
+ * - View roles/actions (read-only, if IAM enabled via optional injection)
1415
+ *
1416
+ * Package Independence:
1417
+ * - Uses PROFILE_UPLOAD_PROVIDER (optional) for storage functionality
1418
+ * - Uses PROFILE_PERMISSION_PROVIDER (optional) for IAM functionality
1419
+ * - No direct imports from ng-storage or ng-iam
1420
+ */
1421
+ declare class ProfilePageComponent implements OnInit {
1422
+ private readonly destroyRef;
1423
+ private readonly appConfig;
1424
+ private readonly messageService;
1425
+ private readonly authState;
1426
+ private readonly userService;
1427
+ private readonly authApiService;
1428
+ private readonly fileUrlService;
1429
+ private readonly uploadProvider;
1430
+ private readonly permissionProvider;
1431
+ readonly isLoading: _angular_core.WritableSignal<boolean>;
1432
+ readonly isLoadingPermissions: _angular_core.WritableSignal<boolean>;
1433
+ private readonly _profilePictureUrl;
1434
+ readonly profilePictureUrl: _angular_core.Signal<string | null>;
1435
+ private readonly _userRoles;
1436
+ readonly userRoles: _angular_core.Signal<IProfileRoleInfo[]>;
1437
+ private readonly _userActions;
1438
+ readonly userActions: _angular_core.Signal<IProfileActionInfo[]>;
1439
+ readonly userEmail: _angular_core.Signal<string>;
1440
+ readonly userName: _angular_core.Signal<string>;
1441
+ readonly userInitials: _angular_core.Signal<string>;
1442
+ readonly companyName: _angular_core.Signal<string>;
1443
+ readonly branchName: _angular_core.Signal<string>;
1444
+ readonly showUploadSection: _angular_core.Signal<boolean>;
1445
+ readonly showCompanySection: _angular_core.Signal<boolean>;
1446
+ readonly showPermissionsSection: _angular_core.Signal<boolean>;
1447
+ readonly permissionMode: _angular_core.Signal<_flusys_ng_core.PermissionMode>;
1448
+ readonly showRoles: _angular_core.Signal<boolean>;
1449
+ readonly showActions: _angular_core.Signal<boolean>;
1450
+ readonly showBottomRow: _angular_core.Signal<boolean>;
1451
+ readonly formModel: _angular_core.WritableSignal<IProfileFormModel>;
1452
+ readonly formTree: _angular_forms_signals.FieldTree<IProfileFormModel, string | number>;
1453
+ readonly isFormValid: _angular_core.Signal<boolean>;
1454
+ readonly passwordModel: _angular_core.WritableSignal<IPasswordFormModel>;
1455
+ readonly isPasswordLoading: _angular_core.WritableSignal<boolean>;
1456
+ readonly isPasswordFormValid: _angular_core.Signal<boolean>;
1457
+ readonly passwordsMatch: _angular_core.Signal<boolean>;
1458
+ readonly uploadFileFn: UploadFileFn;
1459
+ /** Map upload result to IUploadedFile format */
1460
+ private mapUploadResultToUploadedFile;
1461
+ ngOnInit(): void;
1462
+ private loadUserData;
1463
+ private loadPermissions;
1464
+ onProfilePictureUploaded(file: {
1465
+ id?: string;
1466
+ name: string;
1467
+ key: string;
1468
+ size: number;
1469
+ contentType: string;
1470
+ }): void;
1471
+ onSubmit(): void;
1472
+ updatePasswordField(field: keyof IPasswordFormModel, value: string): void;
1473
+ onChangePassword(): void;
1474
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ProfilePageComponent, never>;
1475
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ProfilePageComponent, "lib-profile-page", never, {}, {}, never, never, true, never>;
1476
+ }
1477
+
1359
1478
  interface IUserFormModel$1 {
1360
1479
  name: string;
1361
1480
  email: string;
@@ -1363,7 +1482,6 @@ interface IUserFormModel$1 {
1363
1482
  confirmPassword: string;
1364
1483
  phone: string;
1365
1484
  }
1366
- /** Company form model */
1367
1485
  interface ICompanyFormModel {
1368
1486
  createNewCompany: boolean;
1369
1487
  companySlug: string;
@@ -1372,11 +1490,6 @@ interface ICompanyFormModel {
1372
1490
  newCompanyPhone: string;
1373
1491
  newCompanyAddress: string;
1374
1492
  }
1375
- /**
1376
- * Registration Page Component
1377
- * Handles user registration with optional company creation
1378
- * Adapts UI based on company feature configuration
1379
- */
1380
1493
  declare class RegisterPageComponent implements OnInit {
1381
1494
  private readonly destroyRef;
1382
1495
  private readonly appConfig;
@@ -1384,31 +1497,46 @@ declare class RegisterPageComponent implements OnInit {
1384
1497
  private readonly authApi;
1385
1498
  private readonly authState;
1386
1499
  private readonly route;
1387
- /** Return URL after successful registration */
1500
+ private readonly router;
1388
1501
  readonly returnUrl: _angular_core.InputSignal<string>;
1389
- /** Loading state */
1390
1502
  readonly isLoading: _angular_core.WritableSignal<boolean>;
1391
- /** Whether company feature is enabled */
1392
1503
  readonly companyFeatureEnabled: _angular_core.Signal<boolean>;
1393
- /** User form model */
1394
1504
  readonly userFormModel: _angular_core.WritableSignal<IUserFormModel$1>;
1395
- /** User form with validation schema */
1396
1505
  readonly userForm: _angular_forms_signals.FieldTree<IUserFormModel$1, string | number>;
1397
- /** Company form model */
1398
1506
  readonly companyFormModel: _angular_core.WritableSignal<ICompanyFormModel>;
1399
- /** Company form with conditional validation schema */
1400
1507
  readonly companyForm: _angular_forms_signals.FieldTree<ICompanyFormModel, string | number>;
1401
- ngOnInit(): void;
1402
- /** Check if passwords match */
1403
1508
  readonly passwordsMatch: _angular_core.Signal<boolean>;
1404
- /** Check if form is valid */
1405
1509
  readonly isFormValid: _angular_core.Signal<boolean>;
1510
+ ngOnInit(): void;
1406
1511
  onCreateCompanyToggle(): void;
1407
1512
  onSubmit(): void;
1408
1513
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<RegisterPageComponent, never>;
1409
1514
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<RegisterPageComponent, "lib-register-page", never, { "returnUrl": { "alias": "returnUrl"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1410
1515
  }
1411
1516
 
1517
+ interface IResetPasswordFormModel {
1518
+ newPassword: string;
1519
+ confirmPassword: string;
1520
+ }
1521
+ type PageState$1 = 'form' | 'success' | 'invalid-token';
1522
+ declare class ResetPasswordPageComponent implements OnInit {
1523
+ private readonly destroyRef;
1524
+ private readonly route;
1525
+ private readonly messageService;
1526
+ private readonly authApi;
1527
+ private token;
1528
+ readonly isLoading: _angular_core.WritableSignal<boolean>;
1529
+ readonly pageState: _angular_core.WritableSignal<PageState$1>;
1530
+ readonly formModel: _angular_core.WritableSignal<IResetPasswordFormModel>;
1531
+ readonly resetForm: _angular_forms_signals.FieldTree<IResetPasswordFormModel, string | number>;
1532
+ readonly passwordMismatch: _angular_core.Signal<boolean>;
1533
+ readonly canSubmit: _angular_core.Signal<boolean>;
1534
+ ngOnInit(): void;
1535
+ onSubmit(): void;
1536
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ResetPasswordPageComponent, never>;
1537
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ResetPasswordPageComponent, "lib-reset-password-page", never, {}, {}, never, never, true, never>;
1538
+ }
1539
+
1412
1540
  /** User form model interface */
1413
1541
  interface IUserFormModel {
1414
1542
  name: string;
@@ -1500,6 +1628,34 @@ declare class UserListComponent implements OnInit {
1500
1628
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<UserListComponent, "lib-user-list", never, {}, {}, never, never, true, never>;
1501
1629
  }
1502
1630
 
1631
+ interface IResendFormModel {
1632
+ email: string;
1633
+ }
1634
+ type PageState = 'verifying' | 'success' | 'invalid-token' | 'resend';
1635
+ declare class VerifyEmailPageComponent implements OnInit {
1636
+ private readonly platformId;
1637
+ private readonly transferState;
1638
+ private readonly destroyRef;
1639
+ private readonly route;
1640
+ private readonly messageService;
1641
+ private readonly authApi;
1642
+ readonly isLoading: _angular_core.WritableSignal<boolean>;
1643
+ readonly pageState: _angular_core.WritableSignal<PageState>;
1644
+ readonly resendSuccess: _angular_core.WritableSignal<boolean>;
1645
+ readonly submittedEmail: _angular_core.WritableSignal<string>;
1646
+ readonly resendFormModel: _angular_core.WritableSignal<IResendFormModel>;
1647
+ readonly resendForm: _angular_forms_signals.FieldTree<IResendFormModel, string | number>;
1648
+ readonly isResendFormValid: _angular_core.Signal<boolean>;
1649
+ ngOnInit(): void;
1650
+ private verifyEmail;
1651
+ private handleVerificationResult;
1652
+ showResendForm(): void;
1653
+ onResend(): void;
1654
+ private handleResendComplete;
1655
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<VerifyEmailPageComponent, never>;
1656
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<VerifyEmailPageComponent, "lib-verify-email-page", never, {}, {}, never, never, true, never>;
1657
+ }
1658
+
1503
1659
  /**
1504
1660
  * User Branch Permission Dialog
1505
1661
  *
@@ -1595,5 +1751,5 @@ interface CompanyWithAssignment extends ICompany {
1595
1751
  isAssigned: boolean;
1596
1752
  }
1597
1753
 
1598
- export { ADMINISTRATION_ROUTES, AUTH_ENDPOINTS, AUTH_ROUTES, AdministrationPageComponent, AuthApiService, AuthCompanyApiProviderAdapter, AuthInitService, AuthLayoutApiAdapter, AuthLayoutStateAdapter, AuthStateService, AuthUserPermissionProviderAdapter, AuthUserProviderAdapter, BranchApiService, BranchFormComponent, BranchListComponent, CompanyApiService, CompanyFormComponent, CompanyListComponent, LoginPageComponent, RegisterPageComponent, TokenRefreshStateService, UserApiService, UserBranchPermissionDialogComponent, UserCompanyPermissionDialogComponent, UserFormComponent, UserListComponent, UserPermissionApiService, authGuard, authInterceptor, companyFeatureGuard, guestGuard, isAuthEndpoint, isCompanySelectionResponse, isEndpoint, isLoginResponse, provideAuthLayoutIntegration, provideAuthProviders, tokenRefreshInterceptor };
1599
- export type { AuthResponse, IAssignUserBranchRequest, IAssignUserCompanyRequest, IBatchOperationResponse, IBranch, IBranchInfo, IBranchSelectionInfo, IChangePasswordRequest, ICompany, ICompanyInfo, ICompanySelectionResponse, ICompanyWithBranches, ICreateBranchRequest, ICreateCompanyRequest, ICreateUserRequest, ILoginRequest, ILoginResponse, IMeResponse, IPermissionItem, IRefreshTokenResponse, IRegistrationRequest, IRegistrationResponse, ISelectRequest, ISwitchCompanyRequest, IUpdateBranchRequest, IUpdateCompanyRequest, IUpdateUserRequest, IUser, IUserBranchPermission, IUserBranchesResponse, IUserCompaniesResponse, IUserCompanyPermission, IUserInfo };
1754
+ export { ADMINISTRATION_ROUTES, AUTH_ENDPOINTS, AUTH_ROUTES, AdministrationPageComponent, AuthApiService, AuthCompanyApiProviderAdapter, AuthInitService, AuthLayoutApiAdapter, AuthLayoutStateAdapter, AuthStateService, AuthUserPermissionProviderAdapter, AuthUserProviderAdapter, BranchApiService, BranchFormComponent, BranchListComponent, CompanyApiService, CompanyFormComponent, CompanyListComponent, ForgotPasswordPageComponent, LoginPageComponent, PROFILE_ROUTES, ProfilePageComponent, RegisterPageComponent, ResetPasswordPageComponent, TokenRefreshStateService, UserApiService, UserBranchPermissionDialogComponent, UserCompanyPermissionDialogComponent, UserFormComponent, UserListComponent, UserPermissionApiService, VerifyEmailPageComponent, authGuard, authInterceptor, companyFeatureGuard, guestGuard, isAuthEndpoint, isCompanySelectionResponse, isEmailVerificationRequired, isEndpoint, isLoginResponse, provideAuthLayoutIntegration, provideAuthProviders, tokenRefreshInterceptor };
1755
+ export type { AuthResponse, IAssignUserBranchRequest, IAssignUserCompanyRequest, IBatchOperationResponse, IBranch, IBranchInfo, IBranchSelectionInfo, IChangePasswordRequest, ICompany, ICompanyInfo, ICompanySelectionResponse, ICompanyWithBranches, ICreateBranchRequest, ICreateCompanyRequest, ICreateUserRequest, ILoginRequest, ILoginRequiresEmailVerification, ILoginResponse, IMeResponse, IPermissionItem, IRefreshTokenResponse, IRegistrationRequest, IRegistrationResponse, ISelectRequest, ISwitchCompanyRequest, IUpdateBranchRequest, IUpdateCompanyRequest, IUpdateUserRequest, IUser, IUserBranchPermission, IUserBranchesResponse, IUserCompaniesResponse, IUserCompanyPermission, IUserInfo };