@eggjs/security 5.0.0-beta.20 → 5.0.0-beta.21

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 (113) hide show
  1. package/dist/agent.d.ts +5 -9
  2. package/dist/agent.js +11 -15
  3. package/dist/app/extend/agent.d.ts +4 -9
  4. package/dist/app/extend/agent.js +8 -12
  5. package/dist/app/extend/application.d.ts +8 -4
  6. package/dist/app/extend/application.js +32 -4
  7. package/dist/app/extend/context.d.ts +58 -4
  8. package/dist/app/extend/context.js +244 -4
  9. package/dist/app/extend/helper.d.ts +10 -22
  10. package/dist/app/extend/helper.js +5 -17
  11. package/dist/app/extend/response.d.ts +35 -4
  12. package/dist/app/extend/response.js +83 -5
  13. package/dist/app/middleware/securities.d.ts +4 -8
  14. package/dist/app/middleware/securities.js +52 -49
  15. package/dist/app.d.ts +5 -9
  16. package/dist/app.js +26 -24
  17. package/dist/config/config.default.d.ts +867 -2
  18. package/dist/config/config.default.js +366 -3
  19. package/dist/config/config.local.d.ts +2 -5
  20. package/dist/config/config.local.js +8 -5
  21. package/dist/index.d.ts +4 -5
  22. package/dist/index.js +5 -8
  23. package/dist/lib/extend/safe_curl.d.ts +16 -3
  24. package/dist/lib/extend/safe_curl.js +25 -3
  25. package/dist/lib/helper/cliFilter.d.ts +4 -2
  26. package/dist/lib/helper/cliFilter.js +17 -3
  27. package/dist/lib/helper/escape.d.ts +2 -2
  28. package/dist/lib/helper/escape.js +3 -3
  29. package/dist/lib/helper/escapeShellArg.d.ts +1 -2
  30. package/dist/lib/helper/escapeShellArg.js +5 -3
  31. package/dist/lib/helper/escapeShellCmd.d.ts +1 -2
  32. package/dist/lib/helper/escapeShellCmd.js +14 -3
  33. package/dist/lib/helper/index.d.ts +19 -22
  34. package/dist/lib/helper/index.js +21 -13
  35. package/dist/lib/helper/shtml.d.ts +2 -2
  36. package/dist/lib/helper/shtml.js +69 -4
  37. package/dist/lib/helper/sjs.d.ts +4 -2
  38. package/dist/lib/helper/sjs.js +49 -3
  39. package/dist/lib/helper/sjson.d.ts +1 -2
  40. package/dist/lib/helper/sjson.js +39 -4
  41. package/dist/lib/helper/spath.d.ts +5 -2
  42. package/dist/lib/helper/spath.js +25 -3
  43. package/dist/lib/helper/surl.d.ts +2 -2
  44. package/dist/lib/helper/surl.js +30 -3
  45. package/dist/lib/middlewares/csp.d.ts +3 -6
  46. package/dist/lib/middlewares/csp.js +57 -4
  47. package/dist/lib/middlewares/csrf.d.ts +3 -6
  48. package/dist/lib/middlewares/csrf.js +37 -4
  49. package/dist/lib/middlewares/dta.d.ts +2 -5
  50. package/dist/lib/middlewares/dta.js +12 -4
  51. package/dist/lib/middlewares/hsts.d.ts +3 -6
  52. package/dist/lib/middlewares/hsts.js +21 -4
  53. package/dist/lib/middlewares/index.d.ts +11 -16
  54. package/dist/lib/middlewares/index.js +23 -14
  55. package/dist/lib/middlewares/methodnoallow.d.ts +2 -5
  56. package/dist/lib/middlewares/methodnoallow.js +20 -3
  57. package/dist/lib/middlewares/noopen.d.ts +3 -6
  58. package/dist/lib/middlewares/noopen.js +15 -4
  59. package/dist/lib/middlewares/nosniff.d.ts +3 -6
  60. package/dist/lib/middlewares/nosniff.js +28 -4
  61. package/dist/lib/middlewares/referrerPolicy.d.ts +3 -6
  62. package/dist/lib/middlewares/referrerPolicy.js +35 -4
  63. package/dist/lib/middlewares/xframe.d.ts +3 -6
  64. package/dist/lib/middlewares/xframe.js +17 -4
  65. package/dist/lib/middlewares/xssProtection.d.ts +3 -6
  66. package/dist/lib/middlewares/xssProtection.js +14 -4
  67. package/dist/lib/utils.d.ts +12 -17
  68. package/dist/lib/utils.js +192 -3
  69. package/dist/types.d.ts +36 -3
  70. package/dist/types.js +2 -3
  71. package/package.json +6 -6
  72. package/dist/application-COC0mYEe.js +0 -32
  73. package/dist/application-n5bk2L_z.d.ts +0 -12
  74. package/dist/cliFilter-7BSD8Nc_.js +0 -18
  75. package/dist/cliFilter-DKZxCxSe.d.ts +0 -7
  76. package/dist/config.default-AcwQOAG0.js +0 -166
  77. package/dist/config.default-D8v08Vox.d.ts +0 -870
  78. package/dist/context-C-N1IY85.d.ts +0 -95
  79. package/dist/context-e-QJTKfq.js +0 -191
  80. package/dist/csp-BW5AJd_f.js +0 -46
  81. package/dist/csrf-9aSLHiby.js +0 -33
  82. package/dist/dta-DVAKEpJ3.js +0 -13
  83. package/dist/escape-Dex_Pk9e.d.ts +0 -2
  84. package/dist/escape-p8-cW8c_.js +0 -7
  85. package/dist/escapeShellArg-BnzDicAC.d.ts +0 -4
  86. package/dist/escapeShellArg-C0v1ZeCl.js +0 -7
  87. package/dist/escapeShellCmd-CkAdyhtO.js +0 -15
  88. package/dist/escapeShellCmd-DQZZIHde.d.ts +0 -4
  89. package/dist/helper-DylzfQ_5.js +0 -25
  90. package/dist/hsts-CWMKNTEh.js +0 -19
  91. package/dist/methodnoallow-BAZONArS.js +0 -15
  92. package/dist/middlewares-CkQjv8t0.js +0 -27
  93. package/dist/noopen-C3jUBwoH.js +0 -17
  94. package/dist/nosniff-CcLkhX2I.js +0 -27
  95. package/dist/referrerPolicy-D4Uafq6c.js +0 -31
  96. package/dist/response-BFnHAJrV.js +0 -69
  97. package/dist/safe_curl-UlViaxoF.js +0 -19
  98. package/dist/safe_curl-mqZZv_YQ.d.ts +0 -20
  99. package/dist/shtml-CAquTzgV.d.ts +0 -6
  100. package/dist/shtml-CgF4kOx-.js +0 -53
  101. package/dist/sjs-Cbmkk5xS.js +0 -36
  102. package/dist/sjs-QZIJYS71.d.ts +0 -7
  103. package/dist/sjson-BetFnVR6.js +0 -32
  104. package/dist/sjson-O-vKJPws.d.ts +0 -4
  105. package/dist/spath-Bu9sy6Kz.js +0 -16
  106. package/dist/spath-DseDPHxf.d.ts +0 -7
  107. package/dist/surl-ClleTea7.js +0 -25
  108. package/dist/surl-JV70X_RZ.d.ts +0 -6
  109. package/dist/types-BZR2U30p.d.ts +0 -38
  110. package/dist/types-DnJpiSJb.js +0 -1
  111. package/dist/utils-Cajs5P8M.js +0 -127
  112. package/dist/xframe-q9fEZkVI.js +0 -18
  113. package/dist/xssProtection-D5QsHX-e.js +0 -17
@@ -1,2 +1,867 @@
1
- import { CSRFSupportRequestItem, IgnoreOrMatch, IgnoreOrMatchHandler, IgnoreOrMatchOption, LookupAddress, SSRFCheckAddressFunction, SecurityConfig, SecurityHelperConfig, SecurityHelperOnTagAttrHandler, SecurityMiddlewareName, _default } from "../config.default-D8v08Vox.js";
2
- export { CSRFSupportRequestItem, IgnoreOrMatch, IgnoreOrMatchHandler, IgnoreOrMatchOption, LookupAddress, SSRFCheckAddressFunction, SecurityConfig, SecurityHelperConfig, SecurityHelperOnTagAttrHandler, SecurityMiddlewareName, _default as default };
1
+ import z from 'zod';
2
+ import { Context } from 'egg';
3
+ declare const CSRFSupportRequestItem: z.ZodObject<{
4
+ path: z.ZodType<RegExp, z.ZodTypeDef, RegExp>;
5
+ methods: z.ZodArray<z.ZodString, "many">;
6
+ }, "strip", z.ZodTypeAny, {
7
+ path: RegExp;
8
+ methods: string[];
9
+ }, {
10
+ path: RegExp;
11
+ methods: string[];
12
+ }>;
13
+ export type CSRFSupportRequestItem = z.infer<typeof CSRFSupportRequestItem>;
14
+ export declare const LookupAddress: z.ZodObject<{
15
+ address: z.ZodString;
16
+ family: z.ZodNumber;
17
+ }, "strip", z.ZodTypeAny, {
18
+ address: string;
19
+ family: number;
20
+ }, {
21
+ address: string;
22
+ family: number;
23
+ }>;
24
+ export type LookupAddress = z.infer<typeof LookupAddress>;
25
+ declare const SSRFCheckAddressFunction: z.ZodFunction<z.ZodTuple<[z.ZodUnion<[z.ZodString, z.ZodObject<{
26
+ address: z.ZodString;
27
+ family: z.ZodNumber;
28
+ }, "strip", z.ZodTypeAny, {
29
+ address: string;
30
+ family: number;
31
+ }, {
32
+ address: string;
33
+ family: number;
34
+ }>, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
35
+ address: z.ZodString;
36
+ family: z.ZodNumber;
37
+ }, "strip", z.ZodTypeAny, {
38
+ address: string;
39
+ family: number;
40
+ }, {
41
+ address: string;
42
+ family: number;
43
+ }>]>, "many">]>, z.ZodUnion<[z.ZodNumber, z.ZodString]>, z.ZodString], z.ZodUnknown>, z.ZodBoolean>;
44
+ /**
45
+ * SSRF check address function
46
+ * `(address, family, hostname) => boolean`
47
+ */
48
+ export type SSRFCheckAddressFunction = z.infer<typeof SSRFCheckAddressFunction>;
49
+ export declare const SecurityMiddlewareName: z.ZodEnum<["csrf", "hsts", "methodnoallow", "noopen", "nosniff", "csp", "xssProtection", "xframe", "dta"]>;
50
+ export type SecurityMiddlewareName = z.infer<typeof SecurityMiddlewareName>;
51
+ /**
52
+ * (ctx) => boolean
53
+ */
54
+ declare const IgnoreOrMatchHandler: z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>;
55
+ export type IgnoreOrMatchHandler = z.infer<typeof IgnoreOrMatchHandler>;
56
+ declare const IgnoreOrMatch: z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>;
57
+ export type IgnoreOrMatch = z.infer<typeof IgnoreOrMatch>;
58
+ declare const IgnoreOrMatchOption: z.ZodOptional<z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, "many">]>>;
59
+ export type IgnoreOrMatchOption = z.infer<typeof IgnoreOrMatchOption>;
60
+ export declare const SecurityConfig: z.ZodObject<{
61
+ /**
62
+ * domain white list
63
+ *
64
+ * Default to `[]`
65
+ */
66
+ domainWhiteList: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
67
+ /**
68
+ * protocol white list
69
+ *
70
+ * Default to `[]`
71
+ */
72
+ protocolWhiteList: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
73
+ /**
74
+ * default open security middleware
75
+ *
76
+ * Default to `'csrf,hsts,methodnoallow,noopen,nosniff,csp,xssProtection,xframe,dta'`
77
+ */
78
+ defaultMiddleware: z.ZodDefault<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodEnum<["csrf", "hsts", "methodnoallow", "noopen", "nosniff", "csp", "xssProtection", "xframe", "dta"]>, "many">]>>;
79
+ /**
80
+ * whether defend csrf attack
81
+ */
82
+ csrf: z.ZodEffects<z.ZodDefault<z.ZodObject<{
83
+ match: z.ZodOptional<z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, "many">]>>;
84
+ ignore: z.ZodOptional<z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, "many">]>>;
85
+ /**
86
+ * Default to `true`
87
+ */
88
+ enable: z.ZodDefault<z.ZodBoolean>;
89
+ /**
90
+ * csrf token detect source type
91
+ *
92
+ * Default to `'ctoken'`
93
+ */
94
+ type: z.ZodDefault<z.ZodEnum<["ctoken", "referer", "all", "any"]>>;
95
+ /**
96
+ * ignore json request
97
+ *
98
+ * Default to `false`
99
+ *
100
+ * @deprecated is not safe now, don't use it
101
+ */
102
+ ignoreJSON: z.ZodDefault<z.ZodBoolean>;
103
+ /**
104
+ * csrf token cookie name
105
+ *
106
+ * Default to `'csrfToken'`
107
+ */
108
+ cookieName: z.ZodDefault<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
109
+ /**
110
+ * csrf token session name
111
+ *
112
+ * Default to `'csrfToken'`
113
+ */
114
+ sessionName: z.ZodDefault<z.ZodString>;
115
+ /**
116
+ * csrf token request header name
117
+ *
118
+ * Default to `'x-csrf-token'`
119
+ */
120
+ headerName: z.ZodDefault<z.ZodString>;
121
+ /**
122
+ * csrf token request body field name
123
+ *
124
+ * Default to `'_csrf'`
125
+ */
126
+ bodyName: z.ZodDefault<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
127
+ /**
128
+ * csrf token request query field name
129
+ *
130
+ * Default to `'_csrf'`
131
+ */
132
+ queryName: z.ZodDefault<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
133
+ /**
134
+ * rotate csrf token when it is invalid
135
+ *
136
+ * Default to `false`
137
+ */
138
+ rotateWhenInvalid: z.ZodDefault<z.ZodBoolean>;
139
+ /**
140
+ * These config works when using `'ctoken'` type
141
+ *
142
+ * Default to `false`
143
+ */
144
+ useSession: z.ZodDefault<z.ZodBoolean>;
145
+ /**
146
+ * csrf token cookie domain setting,
147
+ * can be `(ctx) => string` or `string`
148
+ *
149
+ * Default to `undefined`, auto set the cookie domain in the safe way
150
+ */
151
+ cookieDomain: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodString>]>>;
152
+ /**
153
+ * csrf token check requests config
154
+ */
155
+ supportedRequests: z.ZodDefault<z.ZodArray<z.ZodObject<{
156
+ path: z.ZodType<RegExp, z.ZodTypeDef, RegExp>;
157
+ methods: z.ZodArray<z.ZodString, "many">;
158
+ }, "strip", z.ZodTypeAny, {
159
+ path: RegExp;
160
+ methods: string[];
161
+ }, {
162
+ path: RegExp;
163
+ methods: string[];
164
+ }>, "many">>;
165
+ /**
166
+ * referer or origin header white list.
167
+ * It only works when using `'referer'` type
168
+ *
169
+ * Default to `[]`
170
+ */
171
+ refererWhiteList: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
172
+ /**
173
+ * csrf token cookie options
174
+ *
175
+ * Default to `{
176
+ * signed: false,
177
+ * httpOnly: false,
178
+ * overwrite: true,
179
+ * }`
180
+ */
181
+ cookieOptions: z.ZodDefault<z.ZodObject<{
182
+ signed: z.ZodBoolean;
183
+ httpOnly: z.ZodBoolean;
184
+ overwrite: z.ZodBoolean;
185
+ }, "strip", z.ZodTypeAny, {
186
+ signed: boolean;
187
+ overwrite: boolean;
188
+ httpOnly: boolean;
189
+ }, {
190
+ signed: boolean;
191
+ overwrite: boolean;
192
+ httpOnly: boolean;
193
+ }>>;
194
+ }, "strip", z.ZodTypeAny, {
195
+ type: "referer" | "all" | "ctoken" | "any";
196
+ enable: boolean;
197
+ ignoreJSON: boolean;
198
+ cookieName: string | string[];
199
+ sessionName: string;
200
+ headerName: string;
201
+ bodyName: string | string[];
202
+ queryName: string | string[];
203
+ rotateWhenInvalid: boolean;
204
+ useSession: boolean;
205
+ supportedRequests: {
206
+ path: RegExp;
207
+ methods: string[];
208
+ }[];
209
+ refererWhiteList: string[];
210
+ cookieOptions: {
211
+ signed: boolean;
212
+ overwrite: boolean;
213
+ httpOnly: boolean;
214
+ };
215
+ match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
216
+ ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
217
+ cookieDomain?: string | ((args_0: Context, ...args: unknown[]) => string) | undefined;
218
+ }, {
219
+ match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
220
+ type?: "referer" | "all" | "ctoken" | "any" | undefined;
221
+ ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
222
+ enable?: boolean | undefined;
223
+ ignoreJSON?: boolean | undefined;
224
+ cookieName?: string | string[] | undefined;
225
+ sessionName?: string | undefined;
226
+ headerName?: string | undefined;
227
+ bodyName?: string | string[] | undefined;
228
+ queryName?: string | string[] | undefined;
229
+ rotateWhenInvalid?: boolean | undefined;
230
+ useSession?: boolean | undefined;
231
+ cookieDomain?: string | ((args_0: Context, ...args: unknown[]) => string) | undefined;
232
+ supportedRequests?: {
233
+ path: RegExp;
234
+ methods: string[];
235
+ }[] | undefined;
236
+ refererWhiteList?: string[] | undefined;
237
+ cookieOptions?: {
238
+ signed: boolean;
239
+ overwrite: boolean;
240
+ httpOnly: boolean;
241
+ } | undefined;
242
+ }>>, {
243
+ type: "referer" | "all" | "ctoken" | "any";
244
+ enable: boolean;
245
+ ignoreJSON: boolean;
246
+ cookieName: string | string[];
247
+ sessionName: string;
248
+ headerName: string;
249
+ bodyName: string | string[];
250
+ queryName: string | string[];
251
+ rotateWhenInvalid: boolean;
252
+ useSession: boolean;
253
+ supportedRequests: {
254
+ path: RegExp;
255
+ methods: string[];
256
+ }[];
257
+ refererWhiteList: string[];
258
+ cookieOptions: {
259
+ signed: boolean;
260
+ overwrite: boolean;
261
+ httpOnly: boolean;
262
+ };
263
+ match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
264
+ ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
265
+ cookieDomain?: string | ((args_0: Context, ...args: unknown[]) => string) | undefined;
266
+ }, unknown>;
267
+ /**
268
+ * whether enable X-Frame-Options response header
269
+ */
270
+ xframe: z.ZodDefault<z.ZodObject<{
271
+ match: z.ZodOptional<z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, "many">]>>;
272
+ ignore: z.ZodOptional<z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, "many">]>>;
273
+ /**
274
+ * Default to `true`
275
+ */
276
+ enable: z.ZodDefault<z.ZodBoolean>;
277
+ /**
278
+ * X-Frame-Options value, can be `'DENY'`, `'SAMEORIGIN'`, `'ALLOW-FROM https://example.com'`
279
+ *
280
+ * Default to `'SAMEORIGIN'`
281
+ */
282
+ value: z.ZodDefault<z.ZodString>;
283
+ }, "strip", z.ZodTypeAny, {
284
+ enable: boolean;
285
+ value: string;
286
+ match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
287
+ ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
288
+ }, {
289
+ match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
290
+ ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
291
+ enable?: boolean | undefined;
292
+ value?: string | undefined;
293
+ }>>;
294
+ /**
295
+ * whether enable Strict-Transport-Security response header
296
+ */
297
+ hsts: z.ZodDefault<z.ZodObject<{
298
+ match: z.ZodOptional<z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, "many">]>>;
299
+ ignore: z.ZodOptional<z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, "many">]>>;
300
+ /**
301
+ * Default to `false`
302
+ */
303
+ enable: z.ZodDefault<z.ZodBoolean>;
304
+ /**
305
+ * Max age of Strict-Transport-Security in seconds
306
+ *
307
+ * Default to `365 * 24 * 3600`
308
+ */
309
+ maxAge: z.ZodDefault<z.ZodNumber>;
310
+ /**
311
+ * Whether include sub domains
312
+ *
313
+ * Default to `false`
314
+ */
315
+ includeSubdomains: z.ZodDefault<z.ZodBoolean>;
316
+ }, "strip", z.ZodTypeAny, {
317
+ enable: boolean;
318
+ maxAge: number;
319
+ includeSubdomains: boolean;
320
+ match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
321
+ ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
322
+ }, {
323
+ match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
324
+ ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
325
+ enable?: boolean | undefined;
326
+ maxAge?: number | undefined;
327
+ includeSubdomains?: boolean | undefined;
328
+ }>>;
329
+ /**
330
+ * whether enable Http Method filter
331
+ */
332
+ methodnoallow: z.ZodDefault<z.ZodObject<{
333
+ match: z.ZodOptional<z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, "many">]>>;
334
+ ignore: z.ZodOptional<z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, "many">]>>;
335
+ /**
336
+ * Default to `true`
337
+ */
338
+ enable: z.ZodDefault<z.ZodBoolean>;
339
+ }, "strip", z.ZodTypeAny, {
340
+ enable: boolean;
341
+ match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
342
+ ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
343
+ }, {
344
+ match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
345
+ ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
346
+ enable?: boolean | undefined;
347
+ }>>;
348
+ /**
349
+ * whether enable IE automatically download open
350
+ */
351
+ noopen: z.ZodDefault<z.ZodObject<{
352
+ match: z.ZodOptional<z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, "many">]>>;
353
+ ignore: z.ZodOptional<z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, "many">]>>;
354
+ /**
355
+ * Default to `true`
356
+ */
357
+ enable: z.ZodDefault<z.ZodBoolean>;
358
+ }, "strip", z.ZodTypeAny, {
359
+ enable: boolean;
360
+ match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
361
+ ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
362
+ }, {
363
+ match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
364
+ ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
365
+ enable?: boolean | undefined;
366
+ }>>;
367
+ /**
368
+ * whether enable IE8 automatically detect mime
369
+ */
370
+ nosniff: z.ZodDefault<z.ZodObject<{
371
+ match: z.ZodOptional<z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, "many">]>>;
372
+ ignore: z.ZodOptional<z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, "many">]>>;
373
+ /**
374
+ * Default to `true`
375
+ */
376
+ enable: z.ZodDefault<z.ZodBoolean>;
377
+ }, "strip", z.ZodTypeAny, {
378
+ enable: boolean;
379
+ match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
380
+ ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
381
+ }, {
382
+ match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
383
+ ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
384
+ enable?: boolean | undefined;
385
+ }>>;
386
+ /**
387
+ * whether enable IE8 XSS Filter
388
+ */
389
+ xssProtection: z.ZodDefault<z.ZodObject<{
390
+ match: z.ZodOptional<z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, "many">]>>;
391
+ ignore: z.ZodOptional<z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, "many">]>>;
392
+ /**
393
+ * Default to `true`
394
+ */
395
+ enable: z.ZodDefault<z.ZodBoolean>;
396
+ /**
397
+ * X-XSS-Protection response header value
398
+ *
399
+ * Default to `'1; mode=block'`
400
+ */
401
+ value: z.ZodDefault<z.ZodString>;
402
+ }, "strip", z.ZodTypeAny, {
403
+ enable: boolean;
404
+ value: string;
405
+ match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
406
+ ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
407
+ }, {
408
+ match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
409
+ ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
410
+ enable?: boolean | undefined;
411
+ value?: string | undefined;
412
+ }>>;
413
+ /**
414
+ * content security policy config
415
+ */
416
+ csp: z.ZodDefault<z.ZodObject<{
417
+ match: z.ZodOptional<z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, "many">]>>;
418
+ ignore: z.ZodOptional<z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, "many">]>>;
419
+ /**
420
+ * Default to `false`
421
+ */
422
+ enable: z.ZodDefault<z.ZodBoolean>;
423
+ policy: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">, z.ZodBoolean]>>>;
424
+ /**
425
+ * whether enable report only mode
426
+ * Default to `undefined`
427
+ */
428
+ reportOnly: z.ZodOptional<z.ZodBoolean>;
429
+ /**
430
+ * whether support IE
431
+ * Default to `undefined`
432
+ */
433
+ supportIE: z.ZodOptional<z.ZodBoolean>;
434
+ }, "strip", z.ZodTypeAny, {
435
+ enable: boolean;
436
+ policy: Record<string, string | boolean | string[]>;
437
+ match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
438
+ ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
439
+ reportOnly?: boolean | undefined;
440
+ supportIE?: boolean | undefined;
441
+ }, {
442
+ match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
443
+ ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
444
+ enable?: boolean | undefined;
445
+ policy?: Record<string, string | boolean | string[]> | undefined;
446
+ reportOnly?: boolean | undefined;
447
+ supportIE?: boolean | undefined;
448
+ }>>;
449
+ /**
450
+ * whether enable referrer policy
451
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy
452
+ */
453
+ referrerPolicy: z.ZodDefault<z.ZodObject<{
454
+ match: z.ZodOptional<z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, "many">]>>;
455
+ ignore: z.ZodOptional<z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, "many">]>>;
456
+ /**
457
+ * Default to `false`
458
+ */
459
+ enable: z.ZodDefault<z.ZodBoolean>;
460
+ /**
461
+ * referrer policy value
462
+ *
463
+ * Default to `'no-referrer-when-downgrade'`
464
+ */
465
+ value: z.ZodDefault<z.ZodString>;
466
+ }, "strip", z.ZodTypeAny, {
467
+ enable: boolean;
468
+ value: string;
469
+ match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
470
+ ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
471
+ }, {
472
+ match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
473
+ ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
474
+ enable?: boolean | undefined;
475
+ value?: string | undefined;
476
+ }>>;
477
+ /**
478
+ * whether enable auto avoid directory traversal attack
479
+ */
480
+ dta: z.ZodDefault<z.ZodObject<{
481
+ match: z.ZodOptional<z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, "many">]>>;
482
+ ignore: z.ZodOptional<z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, "many">]>>;
483
+ /**
484
+ * Default to `true`
485
+ */
486
+ enable: z.ZodDefault<z.ZodBoolean>;
487
+ }, "strip", z.ZodTypeAny, {
488
+ enable: boolean;
489
+ match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
490
+ ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
491
+ }, {
492
+ match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
493
+ ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
494
+ enable?: boolean | undefined;
495
+ }>>;
496
+ ssrf: z.ZodDefault<z.ZodObject<{
497
+ ipBlackList: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
498
+ ipExceptionList: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
499
+ hostnameExceptionList: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
500
+ checkAddress: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodUnion<[z.ZodString, z.ZodObject<{
501
+ address: z.ZodString;
502
+ family: z.ZodNumber;
503
+ }, "strip", z.ZodTypeAny, {
504
+ address: string;
505
+ family: number;
506
+ }, {
507
+ address: string;
508
+ family: number;
509
+ }>, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
510
+ address: z.ZodString;
511
+ family: z.ZodNumber;
512
+ }, "strip", z.ZodTypeAny, {
513
+ address: string;
514
+ family: number;
515
+ }, {
516
+ address: string;
517
+ family: number;
518
+ }>]>, "many">]>, z.ZodUnion<[z.ZodNumber, z.ZodString]>, z.ZodString], z.ZodUnknown>, z.ZodBoolean>>;
519
+ }, "strip", z.ZodTypeAny, {
520
+ ipBlackList?: string[] | undefined;
521
+ ipExceptionList?: string[] | undefined;
522
+ hostnameExceptionList?: string[] | undefined;
523
+ checkAddress?: ((args_0: string | {
524
+ address: string;
525
+ family: number;
526
+ } | (string | {
527
+ address: string;
528
+ family: number;
529
+ })[], args_1: string | number, args_2: string, ...args: unknown[]) => boolean) | undefined;
530
+ }, {
531
+ ipBlackList?: string[] | undefined;
532
+ ipExceptionList?: string[] | undefined;
533
+ hostnameExceptionList?: string[] | undefined;
534
+ checkAddress?: ((args_0: string | {
535
+ address: string;
536
+ family: number;
537
+ } | (string | {
538
+ address: string;
539
+ family: number;
540
+ })[], args_1: string | number, args_2: string, ...args: unknown[]) => boolean) | undefined;
541
+ }>>;
542
+ match: z.ZodOptional<z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, "many">]>>;
543
+ ignore: z.ZodOptional<z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodFunction<z.ZodTuple<[z.ZodType<Context, z.ZodTypeDef, Context>], z.ZodUnknown>, z.ZodBoolean>]>, "many">]>>;
544
+ __protocolWhiteListSet: z.ZodReadonly<z.ZodOptional<z.ZodSet<z.ZodString>>>;
545
+ }, "strip", z.ZodTypeAny, {
546
+ domainWhiteList: string[];
547
+ protocolWhiteList: string[];
548
+ csrf: {
549
+ type: "referer" | "all" | "ctoken" | "any";
550
+ enable: boolean;
551
+ ignoreJSON: boolean;
552
+ cookieName: string | string[];
553
+ sessionName: string;
554
+ headerName: string;
555
+ bodyName: string | string[];
556
+ queryName: string | string[];
557
+ rotateWhenInvalid: boolean;
558
+ useSession: boolean;
559
+ supportedRequests: {
560
+ path: RegExp;
561
+ methods: string[];
562
+ }[];
563
+ refererWhiteList: string[];
564
+ cookieOptions: {
565
+ signed: boolean;
566
+ overwrite: boolean;
567
+ httpOnly: boolean;
568
+ };
569
+ match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
570
+ ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
571
+ cookieDomain?: string | ((args_0: Context, ...args: unknown[]) => string) | undefined;
572
+ };
573
+ hsts: {
574
+ enable: boolean;
575
+ maxAge: number;
576
+ includeSubdomains: boolean;
577
+ match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
578
+ ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
579
+ };
580
+ methodnoallow: {
581
+ enable: boolean;
582
+ match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
583
+ ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
584
+ };
585
+ noopen: {
586
+ enable: boolean;
587
+ match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
588
+ ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
589
+ };
590
+ nosniff: {
591
+ enable: boolean;
592
+ match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
593
+ ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
594
+ };
595
+ csp: {
596
+ enable: boolean;
597
+ policy: Record<string, string | boolean | string[]>;
598
+ match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
599
+ ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
600
+ reportOnly?: boolean | undefined;
601
+ supportIE?: boolean | undefined;
602
+ };
603
+ xssProtection: {
604
+ enable: boolean;
605
+ value: string;
606
+ match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
607
+ ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
608
+ };
609
+ xframe: {
610
+ enable: boolean;
611
+ value: string;
612
+ match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
613
+ ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
614
+ };
615
+ dta: {
616
+ enable: boolean;
617
+ match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
618
+ ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
619
+ };
620
+ defaultMiddleware: string | ("csrf" | "hsts" | "methodnoallow" | "noopen" | "nosniff" | "csp" | "xssProtection" | "xframe" | "dta")[];
621
+ referrerPolicy: {
622
+ enable: boolean;
623
+ value: string;
624
+ match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
625
+ ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
626
+ };
627
+ ssrf: {
628
+ ipBlackList?: string[] | undefined;
629
+ ipExceptionList?: string[] | undefined;
630
+ hostnameExceptionList?: string[] | undefined;
631
+ checkAddress?: ((args_0: string | {
632
+ address: string;
633
+ family: number;
634
+ } | (string | {
635
+ address: string;
636
+ family: number;
637
+ })[], args_1: string | number, args_2: string, ...args: unknown[]) => boolean) | undefined;
638
+ };
639
+ match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
640
+ ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
641
+ __protocolWhiteListSet?: ReadonlySet<string> | undefined;
642
+ }, {
643
+ match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
644
+ ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
645
+ domainWhiteList?: string[] | undefined;
646
+ protocolWhiteList?: string[] | undefined;
647
+ csrf?: unknown;
648
+ hsts?: {
649
+ match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
650
+ ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
651
+ enable?: boolean | undefined;
652
+ maxAge?: number | undefined;
653
+ includeSubdomains?: boolean | undefined;
654
+ } | undefined;
655
+ methodnoallow?: {
656
+ match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
657
+ ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
658
+ enable?: boolean | undefined;
659
+ } | undefined;
660
+ noopen?: {
661
+ match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
662
+ ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
663
+ enable?: boolean | undefined;
664
+ } | undefined;
665
+ nosniff?: {
666
+ match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
667
+ ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
668
+ enable?: boolean | undefined;
669
+ } | undefined;
670
+ csp?: {
671
+ match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
672
+ ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
673
+ enable?: boolean | undefined;
674
+ policy?: Record<string, string | boolean | string[]> | undefined;
675
+ reportOnly?: boolean | undefined;
676
+ supportIE?: boolean | undefined;
677
+ } | undefined;
678
+ xssProtection?: {
679
+ match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
680
+ ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
681
+ enable?: boolean | undefined;
682
+ value?: string | undefined;
683
+ } | undefined;
684
+ xframe?: {
685
+ match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
686
+ ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
687
+ enable?: boolean | undefined;
688
+ value?: string | undefined;
689
+ } | undefined;
690
+ dta?: {
691
+ match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
692
+ ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
693
+ enable?: boolean | undefined;
694
+ } | undefined;
695
+ defaultMiddleware?: string | ("csrf" | "hsts" | "methodnoallow" | "noopen" | "nosniff" | "csp" | "xssProtection" | "xframe" | "dta")[] | undefined;
696
+ referrerPolicy?: {
697
+ match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
698
+ ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
699
+ enable?: boolean | undefined;
700
+ value?: string | undefined;
701
+ } | undefined;
702
+ ssrf?: {
703
+ ipBlackList?: string[] | undefined;
704
+ ipExceptionList?: string[] | undefined;
705
+ hostnameExceptionList?: string[] | undefined;
706
+ checkAddress?: ((args_0: string | {
707
+ address: string;
708
+ family: number;
709
+ } | (string | {
710
+ address: string;
711
+ family: number;
712
+ })[], args_1: string | number, args_2: string, ...args: unknown[]) => boolean) | undefined;
713
+ } | undefined;
714
+ __protocolWhiteListSet?: ReadonlySet<string> | undefined;
715
+ }>;
716
+ export type SecurityConfig = z.infer<typeof SecurityConfig>;
717
+ declare const SecurityHelperOnTagAttrHandler: z.ZodFunction<z.ZodTuple<[z.ZodString, z.ZodString, z.ZodString, z.ZodBoolean], z.ZodUnknown>, z.ZodUnion<[z.ZodString, z.ZodVoid]>>;
718
+ /**
719
+ * (tag: string, name: string, value: string, isWhiteAttr: boolean) => string | void
720
+ */
721
+ export type SecurityHelperOnTagAttrHandler = z.infer<typeof SecurityHelperOnTagAttrHandler>;
722
+ export declare const SecurityHelperConfig: z.ZodObject<{
723
+ shtml: z.ZodDefault<z.ZodObject<{
724
+ /**
725
+ * tag attribute white list
726
+ */
727
+ whiteList: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString, "many">>>;
728
+ /**
729
+ * domain white list
730
+ * @deprecated use `config.security.domainWhiteList` instead
731
+ */
732
+ domainWhiteList: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
733
+ /**
734
+ * tag attribute handler
735
+ */
736
+ onTagAttr: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodString, z.ZodString, z.ZodString, z.ZodBoolean], z.ZodUnknown>, z.ZodUnion<[z.ZodString, z.ZodVoid]>>>;
737
+ }, "strip", z.ZodTypeAny, {
738
+ domainWhiteList?: string[] | undefined;
739
+ whiteList?: Record<string, string[]> | undefined;
740
+ onTagAttr?: ((args_0: string, args_1: string, args_2: string, args_3: boolean, ...args: unknown[]) => string | void) | undefined;
741
+ }, {
742
+ domainWhiteList?: string[] | undefined;
743
+ whiteList?: Record<string, string[]> | undefined;
744
+ onTagAttr?: ((args_0: string, args_1: string, args_2: string, args_3: boolean, ...args: unknown[]) => string | void) | undefined;
745
+ }>>;
746
+ }, "strip", z.ZodTypeAny, {
747
+ shtml: {
748
+ domainWhiteList?: string[] | undefined;
749
+ whiteList?: Record<string, string[]> | undefined;
750
+ onTagAttr?: ((args_0: string, args_1: string, args_2: string, args_3: boolean, ...args: unknown[]) => string | void) | undefined;
751
+ };
752
+ }, {
753
+ shtml?: {
754
+ domainWhiteList?: string[] | undefined;
755
+ whiteList?: Record<string, string[]> | undefined;
756
+ onTagAttr?: ((args_0: string, args_1: string, args_2: string, args_3: boolean, ...args: unknown[]) => string | void) | undefined;
757
+ } | undefined;
758
+ }>;
759
+ export type SecurityHelperConfig = z.infer<typeof SecurityHelperConfig>;
760
+ declare const _default: {
761
+ security: {
762
+ domainWhiteList: string[];
763
+ protocolWhiteList: string[];
764
+ csrf: {
765
+ type: "referer" | "all" | "ctoken" | "any";
766
+ enable: boolean;
767
+ ignoreJSON: boolean;
768
+ cookieName: string | string[];
769
+ sessionName: string;
770
+ headerName: string;
771
+ bodyName: string | string[];
772
+ queryName: string | string[];
773
+ rotateWhenInvalid: boolean;
774
+ useSession: boolean;
775
+ supportedRequests: {
776
+ path: RegExp;
777
+ methods: string[];
778
+ }[];
779
+ refererWhiteList: string[];
780
+ cookieOptions: {
781
+ signed: boolean;
782
+ overwrite: boolean;
783
+ httpOnly: boolean;
784
+ };
785
+ match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
786
+ ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
787
+ cookieDomain?: string | ((args_0: Context, ...args: unknown[]) => string) | undefined;
788
+ };
789
+ hsts: {
790
+ enable: boolean;
791
+ maxAge: number;
792
+ includeSubdomains: boolean;
793
+ match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
794
+ ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
795
+ };
796
+ methodnoallow: {
797
+ enable: boolean;
798
+ match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
799
+ ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
800
+ };
801
+ noopen: {
802
+ enable: boolean;
803
+ match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
804
+ ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
805
+ };
806
+ nosniff: {
807
+ enable: boolean;
808
+ match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
809
+ ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
810
+ };
811
+ csp: {
812
+ enable: boolean;
813
+ policy: Record<string, string | boolean | string[]>;
814
+ match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
815
+ ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
816
+ reportOnly?: boolean | undefined;
817
+ supportIE?: boolean | undefined;
818
+ };
819
+ xssProtection: {
820
+ enable: boolean;
821
+ value: string;
822
+ match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
823
+ ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
824
+ };
825
+ xframe: {
826
+ enable: boolean;
827
+ value: string;
828
+ match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
829
+ ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
830
+ };
831
+ dta: {
832
+ enable: boolean;
833
+ match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
834
+ ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
835
+ };
836
+ defaultMiddleware: string | ("csrf" | "hsts" | "methodnoallow" | "noopen" | "nosniff" | "csp" | "xssProtection" | "xframe" | "dta")[];
837
+ referrerPolicy: {
838
+ enable: boolean;
839
+ value: string;
840
+ match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
841
+ ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
842
+ };
843
+ ssrf: {
844
+ ipBlackList?: string[] | undefined;
845
+ ipExceptionList?: string[] | undefined;
846
+ hostnameExceptionList?: string[] | undefined;
847
+ checkAddress?: ((args_0: string | {
848
+ address: string;
849
+ family: number;
850
+ } | (string | {
851
+ address: string;
852
+ family: number;
853
+ })[], args_1: string | number, args_2: string, ...args: unknown[]) => boolean) | undefined;
854
+ };
855
+ match?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
856
+ ignore?: string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: Context, ...args: unknown[]) => boolean))[] | undefined;
857
+ __protocolWhiteListSet?: ReadonlySet<string> | undefined;
858
+ };
859
+ helper: {
860
+ shtml: {
861
+ domainWhiteList?: string[] | undefined;
862
+ whiteList?: Record<string, string[]> | undefined;
863
+ onTagAttr?: ((args_0: string, args_1: string, args_2: string, args_3: boolean, ...args: unknown[]) => string | void) | undefined;
864
+ };
865
+ };
866
+ };
867
+ export default _default;