@serve.zone/dcrouter 8.0.0 → 9.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/dist_serve/bundle.js +2420 -1227
  2. package/dist_ts/00_commitinfo_data.js +1 -1
  3. package/dist_ts/classes.dcrouter.d.ts +9 -0
  4. package/dist_ts/classes.dcrouter.js +27 -1
  5. package/dist_ts/config/classes.api-token-manager.d.ts +38 -0
  6. package/dist_ts/config/classes.api-token-manager.js +134 -0
  7. package/dist_ts/config/classes.route-config-manager.d.ts +35 -0
  8. package/dist_ts/config/classes.route-config-manager.js +231 -0
  9. package/dist_ts/config/index.d.ts +2 -0
  10. package/dist_ts/config/index.js +3 -1
  11. package/dist_ts/opsserver/classes.opsserver.d.ts +2 -0
  12. package/dist_ts/opsserver/classes.opsserver.js +5 -1
  13. package/dist_ts/opsserver/handlers/{config.handler.d.ts → api-token.handler.d.ts} +5 -2
  14. package/dist_ts/opsserver/handlers/api-token.handler.js +66 -0
  15. package/dist_ts/opsserver/handlers/index.d.ts +2 -0
  16. package/dist_ts/opsserver/handlers/index.js +3 -1
  17. package/dist_ts/opsserver/handlers/route-management.handler.d.ts +13 -0
  18. package/dist_ts/opsserver/handlers/route-management.handler.js +117 -0
  19. package/dist_ts_interfaces/data/index.d.ts +1 -0
  20. package/dist_ts_interfaces/data/index.js +2 -1
  21. package/dist_ts_interfaces/data/route-management.d.ts +68 -0
  22. package/dist_ts_interfaces/data/route-management.js +2 -0
  23. package/dist_ts_interfaces/requests/api-tokens.d.ts +63 -0
  24. package/dist_ts_interfaces/requests/api-tokens.js +2 -0
  25. package/dist_ts_interfaces/requests/config.d.ts +77 -1
  26. package/dist_ts_interfaces/requests/index.d.ts +2 -0
  27. package/dist_ts_interfaces/requests/index.js +3 -1
  28. package/dist_ts_interfaces/requests/route-management.d.ts +114 -0
  29. package/dist_ts_interfaces/requests/route-management.js +2 -0
  30. package/dist_ts_web/00_commitinfo_data.js +1 -1
  31. package/dist_ts_web/appstate.d.ts +37 -1
  32. package/dist_ts_web/appstate.js +220 -2
  33. package/dist_ts_web/elements/index.d.ts +2 -0
  34. package/dist_ts_web/elements/index.js +3 -1
  35. package/dist_ts_web/elements/ops-dashboard.js +23 -3
  36. package/dist_ts_web/elements/ops-view-apitokens.d.ts +12 -0
  37. package/dist_ts_web/elements/ops-view-apitokens.js +310 -0
  38. package/dist_ts_web/elements/ops-view-config.d.ts +10 -8
  39. package/dist_ts_web/elements/ops-view-config.js +215 -297
  40. package/dist_ts_web/elements/ops-view-routes.d.ts +12 -0
  41. package/dist_ts_web/elements/ops-view-routes.js +404 -0
  42. package/dist_ts_web/router.d.ts +1 -1
  43. package/dist_ts_web/router.js +2 -2
  44. package/package.json +2 -2
  45. package/ts/00_commitinfo_data.ts +1 -1
  46. package/ts/classes.dcrouter.ts +37 -1
  47. package/ts/config/classes.api-token-manager.ts +155 -0
  48. package/ts/config/classes.route-config-manager.ts +271 -0
  49. package/ts/config/index.ts +3 -1
  50. package/ts/opsserver/classes.opsserver.ts +4 -0
  51. package/ts/opsserver/handlers/api-token.handler.ts +96 -0
  52. package/ts/opsserver/handlers/config.handler.ts +154 -72
  53. package/ts/opsserver/handlers/index.ts +3 -1
  54. package/ts/opsserver/handlers/route-management.handler.ts +163 -0
  55. package/ts_web/00_commitinfo_data.ts +1 -1
  56. package/ts_web/appstate.ts +309 -2
  57. package/ts_web/elements/index.ts +2 -0
  58. package/ts_web/elements/ops-dashboard.ts +22 -2
  59. package/ts_web/elements/ops-view-apitokens.ts +285 -0
  60. package/ts_web/elements/ops-view-config.ts +237 -299
  61. package/ts_web/elements/ops-view-routes.ts +389 -0
  62. package/ts_web/router.ts +1 -1
  63. package/dist_ts/cache/classes.cache.cleaner.d.ts +0 -47
  64. package/dist_ts/cache/classes.cache.cleaner.js +0 -130
  65. package/dist_ts/cache/classes.cached.document.d.ts +0 -76
  66. package/dist_ts/cache/classes.cached.document.js +0 -100
  67. package/dist_ts/cache/classes.cachedb.d.ts +0 -60
  68. package/dist_ts/cache/classes.cachedb.js +0 -126
  69. package/dist_ts/cache/documents/classes.cached.email.d.ts +0 -125
  70. package/dist_ts/cache/documents/classes.cached.email.js +0 -337
  71. package/dist_ts/cache/documents/classes.cached.ip.reputation.d.ts +0 -119
  72. package/dist_ts/cache/documents/classes.cached.ip.reputation.js +0 -323
  73. package/dist_ts/cache/documents/index.d.ts +0 -2
  74. package/dist_ts/cache/documents/index.js +0 -3
  75. package/dist_ts/cache/index.d.ts +0 -4
  76. package/dist_ts/cache/index.js +0 -7
  77. package/dist_ts/monitoring/classes.metricscache.d.ts +0 -32
  78. package/dist_ts/monitoring/classes.metricscache.js +0 -63
  79. package/dist_ts/opsserver/handlers/admin.handler.d.ts +0 -31
  80. package/dist_ts/opsserver/handlers/admin.handler.js +0 -180
  81. package/dist_ts/opsserver/handlers/config.handler.js +0 -67
  82. package/dist_ts/opsserver/handlers/logs.handler.d.ts +0 -17
  83. package/dist_ts/opsserver/handlers/logs.handler.js +0 -215
  84. package/dist_ts/security/classes.securitylogger.js +0 -235
  85. package/dist_ts/storage/classes.storagemanager.d.ts +0 -82
  86. package/dist_ts/storage/classes.storagemanager.js +0 -344
  87. package/dist_ts/storage/index.d.ts +0 -1
  88. package/dist_ts/storage/index.js +0 -3
@@ -0,0 +1,63 @@
1
+ import * as plugins from '../plugins.js';
2
+ import type * as authInterfaces from '../data/auth.js';
3
+ import type { IApiTokenInfo, TApiTokenScope } from '../data/route-management.js';
4
+ /**
5
+ * Create a new API token. Returns the raw token value once (never shown again).
6
+ * Admin JWT only — tokens cannot create tokens.
7
+ */
8
+ export interface IReq_CreateApiToken extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_CreateApiToken> {
9
+ method: 'createApiToken';
10
+ request: {
11
+ identity?: authInterfaces.IIdentity;
12
+ name: string;
13
+ scopes: TApiTokenScope[];
14
+ expiresInDays?: number | null;
15
+ };
16
+ response: {
17
+ success: boolean;
18
+ tokenId?: string;
19
+ tokenValue?: string;
20
+ message?: string;
21
+ };
22
+ }
23
+ /**
24
+ * List all API tokens (without hashes).
25
+ */
26
+ export interface IReq_ListApiTokens extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_ListApiTokens> {
27
+ method: 'listApiTokens';
28
+ request: {
29
+ identity?: authInterfaces.IIdentity;
30
+ };
31
+ response: {
32
+ tokens: IApiTokenInfo[];
33
+ };
34
+ }
35
+ /**
36
+ * Revoke (delete) an API token.
37
+ */
38
+ export interface IReq_RevokeApiToken extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_RevokeApiToken> {
39
+ method: 'revokeApiToken';
40
+ request: {
41
+ identity?: authInterfaces.IIdentity;
42
+ id: string;
43
+ };
44
+ response: {
45
+ success: boolean;
46
+ message?: string;
47
+ };
48
+ }
49
+ /**
50
+ * Enable or disable an API token.
51
+ */
52
+ export interface IReq_ToggleApiToken extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_ToggleApiToken> {
53
+ method: 'toggleApiToken';
54
+ request: {
55
+ identity?: authInterfaces.IIdentity;
56
+ id: string;
57
+ enabled: boolean;
58
+ };
59
+ response: {
60
+ success: boolean;
61
+ message?: string;
62
+ };
63
+ }
@@ -0,0 +1,2 @@
1
+ import * as plugins from '../plugins.js';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXRva2Vucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzX2ludGVyZmFjZXMvcmVxdWVzdHMvYXBpLXRva2Vucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGVBQWUsQ0FBQyJ9
@@ -1,5 +1,81 @@
1
1
  import * as plugins from '../plugins.js';
2
2
  import * as authInterfaces from '../data/auth.js';
3
+ export interface IConfigData {
4
+ system: {
5
+ baseDir: string;
6
+ dataDir: string;
7
+ publicIp: string | null;
8
+ proxyIps: string[];
9
+ uptime: number;
10
+ storageBackend: 'filesystem' | 'custom' | 'memory';
11
+ storagePath: string | null;
12
+ };
13
+ smartProxy: {
14
+ enabled: boolean;
15
+ routeCount: number;
16
+ acme: {
17
+ enabled: boolean;
18
+ accountEmail: string;
19
+ useProduction: boolean;
20
+ autoRenew: boolean;
21
+ renewThresholdDays: number;
22
+ } | null;
23
+ };
24
+ email: {
25
+ enabled: boolean;
26
+ ports: number[];
27
+ portMapping: Record<string, number> | null;
28
+ hostname: string | null;
29
+ domains: string[];
30
+ emailRouteCount: number;
31
+ receivedEmailsPath: string | null;
32
+ };
33
+ dns: {
34
+ enabled: boolean;
35
+ port: number;
36
+ nsDomains: string[];
37
+ scopes: string[];
38
+ recordCount: number;
39
+ records: Array<{
40
+ name: string;
41
+ type: string;
42
+ value: string;
43
+ ttl?: number;
44
+ }>;
45
+ dnsChallenge: boolean;
46
+ };
47
+ tls: {
48
+ contactEmail: string | null;
49
+ domain: string | null;
50
+ source: 'acme' | 'static' | 'none';
51
+ certPath: string | null;
52
+ keyPath: string | null;
53
+ };
54
+ cache: {
55
+ enabled: boolean;
56
+ storagePath: string | null;
57
+ dbName: string | null;
58
+ defaultTTLDays: number;
59
+ cleanupIntervalHours: number;
60
+ ttlConfig: Record<string, number>;
61
+ };
62
+ radius: {
63
+ enabled: boolean;
64
+ authPort: number | null;
65
+ acctPort: number | null;
66
+ bindAddress: string | null;
67
+ clientCount: number;
68
+ vlanDefaultVlan: number | null;
69
+ vlanAllowUnknownMacs: boolean | null;
70
+ vlanMappingCount: number;
71
+ };
72
+ remoteIngress: {
73
+ enabled: boolean;
74
+ tunnelPort: number | null;
75
+ hubDomain: string | null;
76
+ tlsConfigured: boolean;
77
+ };
78
+ }
3
79
  export interface IReq_GetConfiguration extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_GetConfiguration> {
4
80
  method: 'getConfiguration';
5
81
  request: {
@@ -7,7 +83,7 @@ export interface IReq_GetConfiguration extends plugins.typedrequestInterfaces.im
7
83
  section?: string;
8
84
  };
9
85
  response: {
10
- config: any;
86
+ config: IConfigData;
11
87
  section?: string;
12
88
  };
13
89
  }
@@ -7,3 +7,5 @@ export * from './radius.js';
7
7
  export * from './email-ops.js';
8
8
  export * from './certificate.js';
9
9
  export * from './remoteingress.js';
10
+ export * from './route-management.js';
11
+ export * from './api-tokens.js';
@@ -7,4 +7,6 @@ export * from './radius.js';
7
7
  export * from './email-ops.js';
8
8
  export * from './certificate.js';
9
9
  export * from './remoteingress.js';
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c19pbnRlcmZhY2VzL3JlcXVlc3RzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsb0JBQW9CLENBQUMifQ==
10
+ export * from './route-management.js';
11
+ export * from './api-tokens.js';
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c19pbnRlcmZhY2VzL3JlcXVlc3RzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLGlCQUFpQixDQUFDIn0=
@@ -0,0 +1,114 @@
1
+ import * as plugins from '../plugins.js';
2
+ import type * as authInterfaces from '../data/auth.js';
3
+ import type { IMergedRoute, IRouteWarning } from '../data/route-management.js';
4
+ import type { IRouteConfig } from '@push.rocks/smartproxy';
5
+ /**
6
+ * Get all merged routes (hardcoded + programmatic) with warnings.
7
+ */
8
+ export interface IReq_GetMergedRoutes extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_GetMergedRoutes> {
9
+ method: 'getMergedRoutes';
10
+ request: {
11
+ identity?: authInterfaces.IIdentity;
12
+ apiToken?: string;
13
+ };
14
+ response: {
15
+ routes: IMergedRoute[];
16
+ warnings: IRouteWarning[];
17
+ };
18
+ }
19
+ /**
20
+ * Create a new programmatic route.
21
+ */
22
+ export interface IReq_CreateRoute extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_CreateRoute> {
23
+ method: 'createRoute';
24
+ request: {
25
+ identity?: authInterfaces.IIdentity;
26
+ apiToken?: string;
27
+ route: IRouteConfig;
28
+ enabled?: boolean;
29
+ };
30
+ response: {
31
+ success: boolean;
32
+ storedRouteId?: string;
33
+ message?: string;
34
+ };
35
+ }
36
+ /**
37
+ * Update a programmatic route.
38
+ */
39
+ export interface IReq_UpdateRoute extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_UpdateRoute> {
40
+ method: 'updateRoute';
41
+ request: {
42
+ identity?: authInterfaces.IIdentity;
43
+ apiToken?: string;
44
+ id: string;
45
+ route?: Partial<IRouteConfig>;
46
+ enabled?: boolean;
47
+ };
48
+ response: {
49
+ success: boolean;
50
+ message?: string;
51
+ };
52
+ }
53
+ /**
54
+ * Delete a programmatic route.
55
+ */
56
+ export interface IReq_DeleteRoute extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_DeleteRoute> {
57
+ method: 'deleteRoute';
58
+ request: {
59
+ identity?: authInterfaces.IIdentity;
60
+ apiToken?: string;
61
+ id: string;
62
+ };
63
+ response: {
64
+ success: boolean;
65
+ message?: string;
66
+ };
67
+ }
68
+ /**
69
+ * Set an override on a hardcoded route (disable/enable by name).
70
+ */
71
+ export interface IReq_SetRouteOverride extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_SetRouteOverride> {
72
+ method: 'setRouteOverride';
73
+ request: {
74
+ identity?: authInterfaces.IIdentity;
75
+ apiToken?: string;
76
+ routeName: string;
77
+ enabled: boolean;
78
+ };
79
+ response: {
80
+ success: boolean;
81
+ message?: string;
82
+ };
83
+ }
84
+ /**
85
+ * Remove an override from a hardcoded route (restore default behavior).
86
+ */
87
+ export interface IReq_RemoveRouteOverride extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_RemoveRouteOverride> {
88
+ method: 'removeRouteOverride';
89
+ request: {
90
+ identity?: authInterfaces.IIdentity;
91
+ apiToken?: string;
92
+ routeName: string;
93
+ };
94
+ response: {
95
+ success: boolean;
96
+ message?: string;
97
+ };
98
+ }
99
+ /**
100
+ * Toggle a programmatic route on/off by id.
101
+ */
102
+ export interface IReq_ToggleRoute extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_ToggleRoute> {
103
+ method: 'toggleRoute';
104
+ request: {
105
+ identity?: authInterfaces.IIdentity;
106
+ apiToken?: string;
107
+ id: string;
108
+ enabled: boolean;
109
+ };
110
+ response: {
111
+ success: boolean;
112
+ message?: string;
113
+ };
114
+ }
@@ -0,0 +1,2 @@
1
+ import * as plugins from '../plugins.js';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUtbWFuYWdlbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzX2ludGVyZmFjZXMvcmVxdWVzdHMvcm91dGUtbWFuYWdlbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGVBQWUsQ0FBQyJ9
@@ -3,7 +3,7 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@serve.zone/dcrouter',
6
- version: '8.0.0',
6
+ version: '9.1.0',
7
7
  description: 'A multifaceted routing service handling mail and SMS delivery functions.'
8
8
  };
9
9
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHNfd2ViLzAwX2NvbW1pdGluZm9fZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN4QixJQUFJLEVBQUUsc0JBQXNCO0lBQzVCLE9BQU8sRUFBRSxPQUFPO0lBQ2hCLFdBQVcsRUFBRSwwRUFBMEU7Q0FDeEYsQ0FBQSJ9
@@ -15,7 +15,7 @@ export interface IStatsState {
15
15
  error: string | null;
16
16
  }
17
17
  export interface IConfigState {
18
- config: any | null;
18
+ config: interfaces.requests.IConfigData | null;
19
19
  isLoading: boolean;
20
20
  error: string | null;
21
21
  }
@@ -105,6 +105,15 @@ export interface IRemoteIngressState {
105
105
  lastUpdated: number;
106
106
  }
107
107
  export declare const remoteIngressStatePart: plugins.deesElement.domtools.plugins.smartstate.StatePart<string, IRemoteIngressState>;
108
+ export interface IRouteManagementState {
109
+ mergedRoutes: interfaces.data.IMergedRoute[];
110
+ warnings: interfaces.data.IRouteWarning[];
111
+ apiTokens: interfaces.data.IApiTokenInfo[];
112
+ isLoading: boolean;
113
+ error: string | null;
114
+ lastUpdated: number;
115
+ }
116
+ export declare const routeManagementStatePart: plugins.deesElement.domtools.plugins.smartstate.StatePart<string, IRouteManagementState>;
108
117
  export declare const loginAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<ILoginState, {
109
118
  username: string;
110
119
  password: string;
@@ -172,3 +181,30 @@ export declare const toggleRemoteIngressAction: plugins.deesElement.domtools.plu
172
181
  id: string;
173
182
  enabled: boolean;
174
183
  }>;
184
+ export declare const fetchMergedRoutesAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IRouteManagementState, unknown>;
185
+ export declare const createRouteAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IRouteManagementState, {
186
+ route: any;
187
+ enabled?: boolean;
188
+ }>;
189
+ export declare const deleteRouteAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IRouteManagementState, string>;
190
+ export declare const toggleRouteAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IRouteManagementState, {
191
+ id: string;
192
+ enabled: boolean;
193
+ }>;
194
+ export declare const setRouteOverrideAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IRouteManagementState, {
195
+ routeName: string;
196
+ enabled: boolean;
197
+ }>;
198
+ export declare const removeRouteOverrideAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IRouteManagementState, string>;
199
+ export declare const fetchApiTokensAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IRouteManagementState, unknown>;
200
+ export declare function createApiToken(name: string, scopes: interfaces.data.TApiTokenScope[], expiresInDays?: number | null): Promise<{
201
+ success: boolean;
202
+ tokenId?: string;
203
+ tokenValue?: string;
204
+ message?: string;
205
+ }>;
206
+ export declare const revokeApiTokenAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IRouteManagementState, string>;
207
+ export declare const toggleApiTokenAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IRouteManagementState, {
208
+ id: string;
209
+ enabled: boolean;
210
+ }>;