@flusys/ng-auth 0.1.0-beta.3 → 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": "0.1.0-beta.3",
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": "^0.1.0-beta.3",
12
- "@flusys/ng-layout": "^0.1.0-beta.3",
13
- "@flusys/ng-shared": "^0.1.0-beta.3",
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,13 +1,14 @@
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';
5
5
  import { Signal, Provider, OnInit } from '@angular/core';
6
6
  import { HttpClient, HttpRequest, HttpHandlerFn, HttpEvent } from '@angular/common/http';
7
7
  import { CanActivateFn, Routes } from '@angular/router';
8
- import { ILayoutAuthState, ICompanyInfo as ICompanyInfo$1, IBranchInfo as IBranchInfo$1, IUserInfo as IUserInfo$1, ILayoutAuthApi } from '@flusys/ng-layout';
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
@@ -992,6 +1008,7 @@ declare class AuthUserProviderAdapter implements IUserProvider {
992
1008
  search?: string;
993
1009
  companyId?: string;
994
1010
  branchId?: string;
1011
+ isActive?: boolean;
995
1012
  [key: string]: any;
996
1013
  }): Observable<IListResponse<IUserBasicInfo>>;
997
1014
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AuthUserProviderAdapter, never>;
@@ -1100,6 +1117,10 @@ declare const AUTH_ENDPOINTS: {
1100
1117
  readonly REGISTER: "/auth/register";
1101
1118
  readonly SELECT: "/auth/select";
1102
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";
1103
1124
  };
1104
1125
  /**
1105
1126
  * Check if a URL is an auth-related endpoint
@@ -1290,6 +1311,25 @@ declare class CompanyListComponent implements OnInit {
1290
1311
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<CompanyListComponent, "lib-company-list", never, {}, {}, never, never, true, never>;
1291
1312
  }
1292
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
+
1293
1333
  /** Login form model interface */
1294
1334
  interface ILoginFormModel {
1295
1335
  email: string;
@@ -1302,7 +1342,7 @@ interface ISelectionFormModel {
1302
1342
  branchId: string;
1303
1343
  rememberSelection: boolean;
1304
1344
  }
1305
- type LoginStep = 'credentials' | 'company-selection';
1345
+ type LoginStep = 'credentials' | 'company-selection' | 'email-verification';
1306
1346
  /**
1307
1347
  * Login Page Component
1308
1348
  * Multi-step authentication flow:
@@ -1315,12 +1355,10 @@ declare class LoginPageComponent implements OnInit {
1315
1355
  private readonly messageService;
1316
1356
  private readonly authApi;
1317
1357
  private readonly authState;
1318
- /** Return URL after successful login */
1319
1358
  readonly returnUrl: _angular_core.InputSignal<string>;
1320
- /** Current step in login flow */
1321
1359
  readonly currentStep: _angular_core.WritableSignal<LoginStep>;
1322
- /** Loading state */
1323
1360
  readonly isLoading: _angular_core.WritableSignal<boolean>;
1361
+ readonly unverifiedEmail: _angular_core.WritableSignal<string>;
1324
1362
  /** Login form model */
1325
1363
  readonly loginFormModel: _angular_core.WritableSignal<ILoginFormModel>;
1326
1364
  /** Login form with validation schema */
@@ -1349,12 +1387,94 @@ declare class LoginPageComponent implements OnInit {
1349
1387
  onCompanyChange(): void;
1350
1388
  onSelectCompany(): void;
1351
1389
  goBackToCredentials(): void;
1390
+ onResendVerification(): void;
1352
1391
  private autoSelectIfSingle;
1353
1392
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<LoginPageComponent, never>;
1354
1393
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<LoginPageComponent, "lib-login-page", never, { "returnUrl": { "alias": "returnUrl"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1355
1394
  }
1356
1395
 
1357
- /** 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
+
1358
1478
  interface IUserFormModel$1 {
1359
1479
  name: string;
1360
1480
  email: string;
@@ -1362,7 +1482,6 @@ interface IUserFormModel$1 {
1362
1482
  confirmPassword: string;
1363
1483
  phone: string;
1364
1484
  }
1365
- /** Company form model */
1366
1485
  interface ICompanyFormModel {
1367
1486
  createNewCompany: boolean;
1368
1487
  companySlug: string;
@@ -1371,11 +1490,6 @@ interface ICompanyFormModel {
1371
1490
  newCompanyPhone: string;
1372
1491
  newCompanyAddress: string;
1373
1492
  }
1374
- /**
1375
- * Registration Page Component
1376
- * Handles user registration with optional company creation
1377
- * Adapts UI based on company feature configuration
1378
- */
1379
1493
  declare class RegisterPageComponent implements OnInit {
1380
1494
  private readonly destroyRef;
1381
1495
  private readonly appConfig;
@@ -1383,31 +1497,46 @@ declare class RegisterPageComponent implements OnInit {
1383
1497
  private readonly authApi;
1384
1498
  private readonly authState;
1385
1499
  private readonly route;
1386
- /** Return URL after successful registration */
1500
+ private readonly router;
1387
1501
  readonly returnUrl: _angular_core.InputSignal<string>;
1388
- /** Loading state */
1389
1502
  readonly isLoading: _angular_core.WritableSignal<boolean>;
1390
- /** Whether company feature is enabled */
1391
1503
  readonly companyFeatureEnabled: _angular_core.Signal<boolean>;
1392
- /** User form model */
1393
1504
  readonly userFormModel: _angular_core.WritableSignal<IUserFormModel$1>;
1394
- /** User form with validation schema */
1395
1505
  readonly userForm: _angular_forms_signals.FieldTree<IUserFormModel$1, string | number>;
1396
- /** Company form model */
1397
1506
  readonly companyFormModel: _angular_core.WritableSignal<ICompanyFormModel>;
1398
- /** Company form with conditional validation schema */
1399
1507
  readonly companyForm: _angular_forms_signals.FieldTree<ICompanyFormModel, string | number>;
1400
- ngOnInit(): void;
1401
- /** Check if passwords match */
1402
1508
  readonly passwordsMatch: _angular_core.Signal<boolean>;
1403
- /** Check if form is valid */
1404
1509
  readonly isFormValid: _angular_core.Signal<boolean>;
1510
+ ngOnInit(): void;
1405
1511
  onCreateCompanyToggle(): void;
1406
1512
  onSubmit(): void;
1407
1513
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<RegisterPageComponent, never>;
1408
1514
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<RegisterPageComponent, "lib-register-page", never, { "returnUrl": { "alias": "returnUrl"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1409
1515
  }
1410
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
+
1411
1540
  /** User form model interface */
1412
1541
  interface IUserFormModel {
1413
1542
  name: string;
@@ -1499,6 +1628,34 @@ declare class UserListComponent implements OnInit {
1499
1628
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<UserListComponent, "lib-user-list", never, {}, {}, never, never, true, never>;
1500
1629
  }
1501
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
+
1502
1659
  /**
1503
1660
  * User Branch Permission Dialog
1504
1661
  *
@@ -1594,5 +1751,5 @@ interface CompanyWithAssignment extends ICompany {
1594
1751
  isAssigned: boolean;
1595
1752
  }
1596
1753
 
1597
- 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 };
1598
- 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 };