domainkit 0.0.1 → 0.1.0-beta.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 (47) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +115 -1
  3. package/dist/auth-Df9BuC25.mjs +460 -0
  4. package/dist/auth-Df9BuC25.mjs.map +1 -0
  5. package/dist/client-DvXfJx_E.mjs +534 -0
  6. package/dist/client-DvXfJx_E.mjs.map +1 -0
  7. package/dist/cloudflare-C_ixZsJo.mjs +46 -0
  8. package/dist/cloudflare-C_ixZsJo.mjs.map +1 -0
  9. package/dist/cloudflare-DClWuAm8.d.mts +23 -0
  10. package/dist/cloudflare.d.mts +3 -0
  11. package/dist/cloudflare.mjs +2 -0
  12. package/dist/dns-record-Dzo4flM5.mjs +259 -0
  13. package/dist/dns-record-Dzo4flM5.mjs.map +1 -0
  14. package/dist/effect-cloudflare.d.mts +2 -0
  15. package/dist/effect-cloudflare.mjs +2 -0
  16. package/dist/effect-vercel.d.mts +2 -0
  17. package/dist/effect-vercel.mjs +2 -0
  18. package/dist/effect.d.mts +63 -0
  19. package/dist/effect.mjs +28 -0
  20. package/dist/effect.mjs.map +1 -0
  21. package/dist/index-D1KtyjuI.d.mts +71 -0
  22. package/dist/index-DQAjUrZu.d.mts +94 -0
  23. package/dist/index.d.mts +128 -0
  24. package/dist/index.mjs +198 -0
  25. package/dist/index.mjs.map +1 -0
  26. package/dist/manifest-DjH3BVB9.d.mts +579 -0
  27. package/dist/receipt-C7PjnibZ.mjs +28 -0
  28. package/dist/receipt-C7PjnibZ.mjs.map +1 -0
  29. package/dist/resolver-BjZwN2JE.d.mts +2327 -0
  30. package/dist/resolver-D5nVrR10.mjs +153 -0
  31. package/dist/resolver-D5nVrR10.mjs.map +1 -0
  32. package/dist/rolldown-runtime-D7D4PA-g.mjs +13 -0
  33. package/dist/testing.d.mts +47 -0
  34. package/dist/testing.mjs +117 -0
  35. package/dist/testing.mjs.map +1 -0
  36. package/dist/vercel-BWz_9Y1v.mjs +38 -0
  37. package/dist/vercel-BWz_9Y1v.mjs.map +1 -0
  38. package/dist/vercel-Vc_K_87s.d.mts +22 -0
  39. package/dist/vercel.d.mts +3 -0
  40. package/dist/vercel.mjs +2 -0
  41. package/dist/verify-CeMW6XtK.mjs +1109 -0
  42. package/dist/verify-CeMW6XtK.mjs.map +1 -0
  43. package/dist/verify-DPB1OfZ5.d.mts +979 -0
  44. package/package.json +94 -6
  45. package/bun.lock +0 -66
  46. package/index.ts +0 -1
  47. package/tsconfig.json +0 -30
@@ -0,0 +1,2327 @@
1
+ import { H as Error$2, N as Type, R as DomainName, d as Value, o as OAuthMethod } from "./manifest-DjH3BVB9.mjs";
2
+ import { Context, Effect, Layer, Schema } from "effect";
3
+ declare namespace connection_d_exports$1 {
4
+ export { AuthorizationError, Capability, Connection, Grant, OAuthContinuation, Schema$2 as Schema, StoredCredential, assertGrant, decode$1 as decode, encode$1 as encode, validate };
5
+ }
6
+ declare const Capability: Schema.Literals<readonly ["dns:read", "dns:write"]>;
7
+ type Capability = typeof Capability.Type;
8
+ declare const Grant: Schema.TaggedUnion<{
9
+ readonly account: Schema.TaggedStruct<"account", {}>;
10
+ readonly domains: Schema.TaggedStruct<"domains", {
11
+ readonly domains: Schema.$Array<Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>>;
12
+ }>;
13
+ }>;
14
+ type Grant = typeof Grant.Type;
15
+ declare const Schema$2: Schema.Struct<{
16
+ readonly accountId: Schema.String;
17
+ readonly capabilities: Schema.$Array<Schema.Literals<readonly ["dns:read", "dns:write"]>>;
18
+ readonly createdAt: Schema.DateFromString;
19
+ readonly expiresAt: Schema.NullOr<Schema.DateFromString>;
20
+ readonly grant: Schema.TaggedUnion<{
21
+ readonly account: Schema.TaggedStruct<"account", {}>;
22
+ readonly domains: Schema.TaggedStruct<"domains", {
23
+ readonly domains: Schema.$Array<Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>>;
24
+ }>;
25
+ }>;
26
+ readonly id: Schema.String;
27
+ readonly kind: Schema.Literals<readonly ["oauth2", "token"]>;
28
+ readonly providerId: Schema.String;
29
+ readonly scopes: Schema.$Array<Schema.String>;
30
+ readonly subjectId: Schema.String;
31
+ }>;
32
+ interface Connection extends Schema.Schema.Type<typeof Schema$2> {}
33
+ declare const decode$1: (input: unknown) => Effect.Effect<{
34
+ readonly accountId: string;
35
+ readonly capabilities: readonly ("dns:read" | "dns:write")[];
36
+ readonly createdAt: Date;
37
+ readonly expiresAt: Date | null;
38
+ readonly grant: {
39
+ readonly _tag: "account";
40
+ } | {
41
+ readonly _tag: "domains";
42
+ readonly domains: readonly (string & import("effect/Brand").Brand<"DomainName">)[];
43
+ };
44
+ readonly id: string;
45
+ readonly kind: "oauth2" | "token";
46
+ readonly providerId: string;
47
+ readonly scopes: readonly string[];
48
+ readonly subjectId: string;
49
+ }, Error$2, never>;
50
+ declare const validate: (input: unknown) => Effect.Effect<{
51
+ readonly accountId: string;
52
+ readonly capabilities: readonly ("dns:read" | "dns:write")[];
53
+ readonly createdAt: Date;
54
+ readonly expiresAt: Date | null;
55
+ readonly grant: {
56
+ readonly _tag: "account";
57
+ } | {
58
+ readonly _tag: "domains";
59
+ readonly domains: readonly (string & import("effect/Brand").Brand<"DomainName">)[];
60
+ };
61
+ readonly id: string;
62
+ readonly kind: "oauth2" | "token";
63
+ readonly providerId: string;
64
+ readonly scopes: readonly string[];
65
+ readonly subjectId: string;
66
+ }, Error$2, never>;
67
+ declare const encode$1: (input: {
68
+ readonly accountId: string;
69
+ readonly capabilities: readonly ("dns:read" | "dns:write")[];
70
+ readonly createdAt: Date;
71
+ readonly expiresAt: Date | null;
72
+ readonly grant: {
73
+ readonly _tag: "account";
74
+ } | {
75
+ readonly _tag: "domains";
76
+ readonly domains: readonly (string & import("effect/Brand").Brand<"DomainName">)[];
77
+ };
78
+ readonly id: string;
79
+ readonly kind: "oauth2" | "token";
80
+ readonly providerId: string;
81
+ readonly scopes: readonly string[];
82
+ readonly subjectId: string;
83
+ }, options?: import("effect/SchemaAST").ParseOptions) => {
84
+ readonly accountId: string;
85
+ readonly capabilities: readonly ("dns:read" | "dns:write")[];
86
+ readonly createdAt: string;
87
+ readonly expiresAt: string | null;
88
+ readonly grant: {
89
+ readonly _tag: "account";
90
+ } | {
91
+ readonly _tag: "domains";
92
+ readonly domains: readonly string[];
93
+ };
94
+ readonly id: string;
95
+ readonly kind: "oauth2" | "token";
96
+ readonly providerId: string;
97
+ readonly scopes: readonly string[];
98
+ readonly subjectId: string;
99
+ };
100
+ interface OAuthContinuation {
101
+ readonly clientId: string;
102
+ readonly codeVerifier: Value;
103
+ readonly expiresAt: Date;
104
+ readonly grant: Grant;
105
+ readonly method: OAuthMethod;
106
+ readonly redirectUri: string;
107
+ readonly stateHash: string;
108
+ readonly subjectId: string;
109
+ }
110
+ interface StoredCredential {
111
+ readonly accessToken: Value;
112
+ readonly refreshToken: Value | null;
113
+ readonly tokenType: string;
114
+ }
115
+ declare const AuthorizationError_base: Schema.Class<AuthorizationError, Schema.TaggedStruct<"AuthorizationError", {
116
+ readonly message: Schema.String;
117
+ }>, import("effect/Cause").YieldableError>;
118
+ declare class AuthorizationError extends AuthorizationError_base {}
119
+ declare function assertGrant(connection: Connection, request: {
120
+ readonly accountId: string;
121
+ readonly capability: Capability;
122
+ readonly domain: string;
123
+ readonly now?: Date;
124
+ readonly providerId: string;
125
+ }): DomainName;
126
+ declare namespace error_d_exports {
127
+ export { Error$1 as Error, fromCause };
128
+ }
129
+ declare const Error_base$1: Schema.Class<Error$1, Schema.TaggedStruct<"StorageError", {
130
+ readonly cause: Schema.optionalKey<Schema.Unknown>;
131
+ readonly message: Schema.String;
132
+ readonly operation: Schema.String;
133
+ }>, import("effect/Cause").YieldableError>;
134
+ declare class Error$1 extends Error_base$1 {}
135
+ declare function fromCause(operation: string, cause: unknown): Error$1;
136
+ declare namespace connection_d_exports {
137
+ export { AsyncInterface$4 as AsyncInterface, Interface$4 as Interface, Service$4 as Service, layerFromAsync$4 as layerFromAsync, toAsync$4 as toAsync };
138
+ }
139
+ interface Interface$4 {
140
+ readonly get: (connectionId: string) => Effect.Effect<Connection | null, Error$1>;
141
+ readonly put: (connection: Connection) => Effect.Effect<void, Error$1>;
142
+ }
143
+ declare const Service_base$4: Context.ServiceClass<Service$4, "@domainkit/ConnectionStore", Interface$4>;
144
+ declare class Service$4 extends Service_base$4 {}
145
+ interface AsyncInterface$4 {
146
+ readonly get: (connectionId: string) => Promise<Connection | null>;
147
+ readonly put: (connection: Connection) => Promise<void>;
148
+ }
149
+ declare const toAsync$4: (store: Interface$4) => AsyncInterface$4;
150
+ declare const layerFromAsync$4: (store: AsyncInterface$4) => Layer.Layer<Service$4>;
151
+ declare namespace credential_d_exports {
152
+ export { AsyncInterface$3 as AsyncInterface, Interface$3 as Interface, Service$3 as Service, layerFromAsync$3 as layerFromAsync, toAsync$3 as toAsync };
153
+ }
154
+ interface Interface$3 {
155
+ readonly delete: (connectionId: string) => Effect.Effect<void, Error$1>;
156
+ readonly get: (connectionId: string) => Effect.Effect<StoredCredential | null, Error$1>;
157
+ readonly put: (connectionId: string, credential: StoredCredential) => Effect.Effect<void, Error$1>;
158
+ }
159
+ declare const Service_base$3: Context.ServiceClass<Service$3, "@domainkit/CredentialStore", Interface$3>;
160
+ declare class Service$3 extends Service_base$3 {}
161
+ interface AsyncInterface$3 {
162
+ readonly delete: (connectionId: string) => Promise<void>;
163
+ readonly get: (connectionId: string) => Promise<StoredCredential | null>;
164
+ readonly put: (connectionId: string, credential: StoredCredential) => Promise<void>;
165
+ }
166
+ declare const toAsync$3: (store: Interface$3) => AsyncInterface$3;
167
+ declare const layerFromAsync$3: (store: AsyncInterface$3) => Layer.Layer<Service$3>;
168
+ declare namespace oauth_state_d_exports {
169
+ export { AsyncInterface$2 as AsyncInterface, Interface$2 as Interface, Service$2 as Service, layerFromAsync$2 as layerFromAsync, toAsync$2 as toAsync };
170
+ }
171
+ interface Interface$2 {
172
+ readonly consume: (stateHash: string, now: Date) => Effect.Effect<OAuthContinuation | null, Error$1>;
173
+ readonly put: (continuation: OAuthContinuation) => Effect.Effect<void, Error$1>;
174
+ }
175
+ declare const Service_base$2: Context.ServiceClass<Service$2, "@domainkit/OAuthStateStore", Interface$2>;
176
+ declare class Service$2 extends Service_base$2 {}
177
+ interface AsyncInterface$2 {
178
+ readonly consume: (stateHash: string, now: Date) => Promise<OAuthContinuation | null>;
179
+ readonly put: (continuation: OAuthContinuation) => Promise<void>;
180
+ }
181
+ declare const toAsync$2: (store: Interface$2) => AsyncInterface$2;
182
+ declare const layerFromAsync$2: (store: AsyncInterface$2) => Layer.Layer<Service$2>;
183
+ declare namespace types_d_exports {
184
+ export { ApplyReceipt, Authorization, DnsPlan, Operation, PlanAuthorization, Receipt, Schema$1 as Schema, decode, decodeReceipt, encode, encodeReceipt };
185
+ }
186
+ declare const Operation: Schema.TaggedUnion<{
187
+ readonly conflict: Schema.TaggedStruct<"conflict", {
188
+ readonly existing: Schema.$Array<Schema.Union<readonly [Schema.TaggedUnion<{
189
+ readonly A: Schema.TaggedStruct<"A", {
190
+ readonly metadata: Schema.Struct<{
191
+ readonly ownership: Schema.String;
192
+ readonly provenance: Schema.String;
193
+ readonly purpose: Schema.String;
194
+ }>;
195
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
196
+ readonly policy: Schema.Literals<readonly ["exclusive", "append"]>;
197
+ readonly ttl: Schema.NullOr<Schema.Int>;
198
+ readonly address: Schema.String;
199
+ }>;
200
+ readonly AAAA: Schema.TaggedStruct<"AAAA", {
201
+ readonly metadata: Schema.Struct<{
202
+ readonly ownership: Schema.String;
203
+ readonly provenance: Schema.String;
204
+ readonly purpose: Schema.String;
205
+ }>;
206
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
207
+ readonly policy: Schema.Literals<readonly ["exclusive", "append"]>;
208
+ readonly ttl: Schema.NullOr<Schema.Int>;
209
+ readonly address: Schema.String;
210
+ }>;
211
+ readonly CAA: Schema.TaggedStruct<"CAA", {
212
+ readonly metadata: Schema.Struct<{
213
+ readonly ownership: Schema.String;
214
+ readonly provenance: Schema.String;
215
+ readonly purpose: Schema.String;
216
+ }>;
217
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
218
+ readonly policy: Schema.Literals<readonly ["exclusive", "append"]>;
219
+ readonly ttl: Schema.NullOr<Schema.Int>;
220
+ readonly flags: Schema.Int;
221
+ readonly tag: Schema.Literals<readonly ["issue", "issuewild", "iodef"]>;
222
+ readonly value: Schema.String;
223
+ }>;
224
+ readonly CNAME: Schema.TaggedStruct<"CNAME", {
225
+ readonly metadata: Schema.Struct<{
226
+ readonly ownership: Schema.String;
227
+ readonly provenance: Schema.String;
228
+ readonly purpose: Schema.String;
229
+ }>;
230
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
231
+ readonly ttl: Schema.NullOr<Schema.Int>;
232
+ readonly policy: Schema.Literal<"exclusive">;
233
+ readonly target: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
234
+ }>;
235
+ readonly MX: Schema.TaggedStruct<"MX", {
236
+ readonly metadata: Schema.Struct<{
237
+ readonly ownership: Schema.String;
238
+ readonly provenance: Schema.String;
239
+ readonly purpose: Schema.String;
240
+ }>;
241
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
242
+ readonly policy: Schema.Literals<readonly ["exclusive", "append"]>;
243
+ readonly ttl: Schema.NullOr<Schema.Int>;
244
+ readonly exchange: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
245
+ readonly priority: Schema.Int;
246
+ }>;
247
+ readonly NS: Schema.TaggedStruct<"NS", {
248
+ readonly metadata: Schema.Struct<{
249
+ readonly ownership: Schema.String;
250
+ readonly provenance: Schema.String;
251
+ readonly purpose: Schema.String;
252
+ }>;
253
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
254
+ readonly policy: Schema.Literals<readonly ["exclusive", "append"]>;
255
+ readonly ttl: Schema.NullOr<Schema.Int>;
256
+ readonly target: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
257
+ }>;
258
+ readonly SRV: Schema.TaggedStruct<"SRV", {
259
+ readonly metadata: Schema.Struct<{
260
+ readonly ownership: Schema.String;
261
+ readonly provenance: Schema.String;
262
+ readonly purpose: Schema.String;
263
+ }>;
264
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
265
+ readonly policy: Schema.Literals<readonly ["exclusive", "append"]>;
266
+ readonly ttl: Schema.NullOr<Schema.Int>;
267
+ readonly port: Schema.Int;
268
+ readonly priority: Schema.Int;
269
+ readonly target: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
270
+ readonly weight: Schema.Int;
271
+ }>;
272
+ readonly TXT: Schema.TaggedStruct<"TXT", {
273
+ readonly metadata: Schema.Struct<{
274
+ readonly ownership: Schema.String;
275
+ readonly provenance: Schema.String;
276
+ readonly purpose: Schema.String;
277
+ }>;
278
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
279
+ readonly policy: Schema.Literals<readonly ["exclusive", "append"]>;
280
+ readonly ttl: Schema.NullOr<Schema.Int>;
281
+ readonly value: Schema.String;
282
+ }>;
283
+ }>, Schema.Struct<{
284
+ readonly _tag: Schema.Literal<"Opaque">;
285
+ readonly name: Schema.String;
286
+ readonly providerRecordId: Schema.NullOr<Schema.String>;
287
+ readonly providerType: Schema.String;
288
+ }>]>>;
289
+ readonly id: Schema.String;
290
+ readonly reason: Schema.String;
291
+ readonly requirement: Schema.TaggedUnion<{
292
+ readonly A: Schema.TaggedStruct<"A", {
293
+ readonly metadata: Schema.Struct<{
294
+ readonly ownership: Schema.String;
295
+ readonly provenance: Schema.String;
296
+ readonly purpose: Schema.String;
297
+ }>;
298
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
299
+ readonly policy: Schema.Literals<readonly ["exclusive", "append"]>;
300
+ readonly ttl: Schema.NullOr<Schema.Int>;
301
+ readonly address: Schema.String;
302
+ }>;
303
+ readonly AAAA: Schema.TaggedStruct<"AAAA", {
304
+ readonly metadata: Schema.Struct<{
305
+ readonly ownership: Schema.String;
306
+ readonly provenance: Schema.String;
307
+ readonly purpose: Schema.String;
308
+ }>;
309
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
310
+ readonly policy: Schema.Literals<readonly ["exclusive", "append"]>;
311
+ readonly ttl: Schema.NullOr<Schema.Int>;
312
+ readonly address: Schema.String;
313
+ }>;
314
+ readonly CAA: Schema.TaggedStruct<"CAA", {
315
+ readonly metadata: Schema.Struct<{
316
+ readonly ownership: Schema.String;
317
+ readonly provenance: Schema.String;
318
+ readonly purpose: Schema.String;
319
+ }>;
320
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
321
+ readonly policy: Schema.Literals<readonly ["exclusive", "append"]>;
322
+ readonly ttl: Schema.NullOr<Schema.Int>;
323
+ readonly flags: Schema.Int;
324
+ readonly tag: Schema.Literals<readonly ["issue", "issuewild", "iodef"]>;
325
+ readonly value: Schema.String;
326
+ }>;
327
+ readonly CNAME: Schema.TaggedStruct<"CNAME", {
328
+ readonly metadata: Schema.Struct<{
329
+ readonly ownership: Schema.String;
330
+ readonly provenance: Schema.String;
331
+ readonly purpose: Schema.String;
332
+ }>;
333
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
334
+ readonly ttl: Schema.NullOr<Schema.Int>;
335
+ readonly policy: Schema.Literal<"exclusive">;
336
+ readonly target: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
337
+ }>;
338
+ readonly MX: Schema.TaggedStruct<"MX", {
339
+ readonly metadata: Schema.Struct<{
340
+ readonly ownership: Schema.String;
341
+ readonly provenance: Schema.String;
342
+ readonly purpose: Schema.String;
343
+ }>;
344
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
345
+ readonly policy: Schema.Literals<readonly ["exclusive", "append"]>;
346
+ readonly ttl: Schema.NullOr<Schema.Int>;
347
+ readonly exchange: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
348
+ readonly priority: Schema.Int;
349
+ }>;
350
+ readonly NS: Schema.TaggedStruct<"NS", {
351
+ readonly metadata: Schema.Struct<{
352
+ readonly ownership: Schema.String;
353
+ readonly provenance: Schema.String;
354
+ readonly purpose: Schema.String;
355
+ }>;
356
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
357
+ readonly policy: Schema.Literals<readonly ["exclusive", "append"]>;
358
+ readonly ttl: Schema.NullOr<Schema.Int>;
359
+ readonly target: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
360
+ }>;
361
+ readonly SRV: Schema.TaggedStruct<"SRV", {
362
+ readonly metadata: Schema.Struct<{
363
+ readonly ownership: Schema.String;
364
+ readonly provenance: Schema.String;
365
+ readonly purpose: Schema.String;
366
+ }>;
367
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
368
+ readonly policy: Schema.Literals<readonly ["exclusive", "append"]>;
369
+ readonly ttl: Schema.NullOr<Schema.Int>;
370
+ readonly port: Schema.Int;
371
+ readonly priority: Schema.Int;
372
+ readonly target: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
373
+ readonly weight: Schema.Int;
374
+ }>;
375
+ readonly TXT: Schema.TaggedStruct<"TXT", {
376
+ readonly metadata: Schema.Struct<{
377
+ readonly ownership: Schema.String;
378
+ readonly provenance: Schema.String;
379
+ readonly purpose: Schema.String;
380
+ }>;
381
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
382
+ readonly policy: Schema.Literals<readonly ["exclusive", "append"]>;
383
+ readonly ttl: Schema.NullOr<Schema.Int>;
384
+ readonly value: Schema.String;
385
+ }>;
386
+ }>;
387
+ }>;
388
+ readonly create: Schema.TaggedStruct<"create", {
389
+ readonly id: Schema.String;
390
+ readonly requirement: Schema.TaggedUnion<{
391
+ readonly A: Schema.TaggedStruct<"A", {
392
+ readonly metadata: Schema.Struct<{
393
+ readonly ownership: Schema.String;
394
+ readonly provenance: Schema.String;
395
+ readonly purpose: Schema.String;
396
+ }>;
397
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
398
+ readonly policy: Schema.Literals<readonly ["exclusive", "append"]>;
399
+ readonly ttl: Schema.NullOr<Schema.Int>;
400
+ readonly address: Schema.String;
401
+ }>;
402
+ readonly AAAA: Schema.TaggedStruct<"AAAA", {
403
+ readonly metadata: Schema.Struct<{
404
+ readonly ownership: Schema.String;
405
+ readonly provenance: Schema.String;
406
+ readonly purpose: Schema.String;
407
+ }>;
408
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
409
+ readonly policy: Schema.Literals<readonly ["exclusive", "append"]>;
410
+ readonly ttl: Schema.NullOr<Schema.Int>;
411
+ readonly address: Schema.String;
412
+ }>;
413
+ readonly CAA: Schema.TaggedStruct<"CAA", {
414
+ readonly metadata: Schema.Struct<{
415
+ readonly ownership: Schema.String;
416
+ readonly provenance: Schema.String;
417
+ readonly purpose: Schema.String;
418
+ }>;
419
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
420
+ readonly policy: Schema.Literals<readonly ["exclusive", "append"]>;
421
+ readonly ttl: Schema.NullOr<Schema.Int>;
422
+ readonly flags: Schema.Int;
423
+ readonly tag: Schema.Literals<readonly ["issue", "issuewild", "iodef"]>;
424
+ readonly value: Schema.String;
425
+ }>;
426
+ readonly CNAME: Schema.TaggedStruct<"CNAME", {
427
+ readonly metadata: Schema.Struct<{
428
+ readonly ownership: Schema.String;
429
+ readonly provenance: Schema.String;
430
+ readonly purpose: Schema.String;
431
+ }>;
432
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
433
+ readonly ttl: Schema.NullOr<Schema.Int>;
434
+ readonly policy: Schema.Literal<"exclusive">;
435
+ readonly target: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
436
+ }>;
437
+ readonly MX: Schema.TaggedStruct<"MX", {
438
+ readonly metadata: Schema.Struct<{
439
+ readonly ownership: Schema.String;
440
+ readonly provenance: Schema.String;
441
+ readonly purpose: Schema.String;
442
+ }>;
443
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
444
+ readonly policy: Schema.Literals<readonly ["exclusive", "append"]>;
445
+ readonly ttl: Schema.NullOr<Schema.Int>;
446
+ readonly exchange: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
447
+ readonly priority: Schema.Int;
448
+ }>;
449
+ readonly NS: Schema.TaggedStruct<"NS", {
450
+ readonly metadata: Schema.Struct<{
451
+ readonly ownership: Schema.String;
452
+ readonly provenance: Schema.String;
453
+ readonly purpose: Schema.String;
454
+ }>;
455
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
456
+ readonly policy: Schema.Literals<readonly ["exclusive", "append"]>;
457
+ readonly ttl: Schema.NullOr<Schema.Int>;
458
+ readonly target: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
459
+ }>;
460
+ readonly SRV: Schema.TaggedStruct<"SRV", {
461
+ readonly metadata: Schema.Struct<{
462
+ readonly ownership: Schema.String;
463
+ readonly provenance: Schema.String;
464
+ readonly purpose: Schema.String;
465
+ }>;
466
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
467
+ readonly policy: Schema.Literals<readonly ["exclusive", "append"]>;
468
+ readonly ttl: Schema.NullOr<Schema.Int>;
469
+ readonly port: Schema.Int;
470
+ readonly priority: Schema.Int;
471
+ readonly target: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
472
+ readonly weight: Schema.Int;
473
+ }>;
474
+ readonly TXT: Schema.TaggedStruct<"TXT", {
475
+ readonly metadata: Schema.Struct<{
476
+ readonly ownership: Schema.String;
477
+ readonly provenance: Schema.String;
478
+ readonly purpose: Schema.String;
479
+ }>;
480
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
481
+ readonly policy: Schema.Literals<readonly ["exclusive", "append"]>;
482
+ readonly ttl: Schema.NullOr<Schema.Int>;
483
+ readonly value: Schema.String;
484
+ }>;
485
+ }>;
486
+ }>;
487
+ readonly noop: Schema.TaggedStruct<"noop", {
488
+ readonly id: Schema.String;
489
+ readonly requirement: Schema.TaggedUnion<{
490
+ readonly A: Schema.TaggedStruct<"A", {
491
+ readonly metadata: Schema.Struct<{
492
+ readonly ownership: Schema.String;
493
+ readonly provenance: Schema.String;
494
+ readonly purpose: Schema.String;
495
+ }>;
496
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
497
+ readonly policy: Schema.Literals<readonly ["exclusive", "append"]>;
498
+ readonly ttl: Schema.NullOr<Schema.Int>;
499
+ readonly address: Schema.String;
500
+ }>;
501
+ readonly AAAA: Schema.TaggedStruct<"AAAA", {
502
+ readonly metadata: Schema.Struct<{
503
+ readonly ownership: Schema.String;
504
+ readonly provenance: Schema.String;
505
+ readonly purpose: Schema.String;
506
+ }>;
507
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
508
+ readonly policy: Schema.Literals<readonly ["exclusive", "append"]>;
509
+ readonly ttl: Schema.NullOr<Schema.Int>;
510
+ readonly address: Schema.String;
511
+ }>;
512
+ readonly CAA: Schema.TaggedStruct<"CAA", {
513
+ readonly metadata: Schema.Struct<{
514
+ readonly ownership: Schema.String;
515
+ readonly provenance: Schema.String;
516
+ readonly purpose: Schema.String;
517
+ }>;
518
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
519
+ readonly policy: Schema.Literals<readonly ["exclusive", "append"]>;
520
+ readonly ttl: Schema.NullOr<Schema.Int>;
521
+ readonly flags: Schema.Int;
522
+ readonly tag: Schema.Literals<readonly ["issue", "issuewild", "iodef"]>;
523
+ readonly value: Schema.String;
524
+ }>;
525
+ readonly CNAME: Schema.TaggedStruct<"CNAME", {
526
+ readonly metadata: Schema.Struct<{
527
+ readonly ownership: Schema.String;
528
+ readonly provenance: Schema.String;
529
+ readonly purpose: Schema.String;
530
+ }>;
531
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
532
+ readonly ttl: Schema.NullOr<Schema.Int>;
533
+ readonly policy: Schema.Literal<"exclusive">;
534
+ readonly target: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
535
+ }>;
536
+ readonly MX: Schema.TaggedStruct<"MX", {
537
+ readonly metadata: Schema.Struct<{
538
+ readonly ownership: Schema.String;
539
+ readonly provenance: Schema.String;
540
+ readonly purpose: Schema.String;
541
+ }>;
542
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
543
+ readonly policy: Schema.Literals<readonly ["exclusive", "append"]>;
544
+ readonly ttl: Schema.NullOr<Schema.Int>;
545
+ readonly exchange: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
546
+ readonly priority: Schema.Int;
547
+ }>;
548
+ readonly NS: Schema.TaggedStruct<"NS", {
549
+ readonly metadata: Schema.Struct<{
550
+ readonly ownership: Schema.String;
551
+ readonly provenance: Schema.String;
552
+ readonly purpose: Schema.String;
553
+ }>;
554
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
555
+ readonly policy: Schema.Literals<readonly ["exclusive", "append"]>;
556
+ readonly ttl: Schema.NullOr<Schema.Int>;
557
+ readonly target: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
558
+ }>;
559
+ readonly SRV: Schema.TaggedStruct<"SRV", {
560
+ readonly metadata: Schema.Struct<{
561
+ readonly ownership: Schema.String;
562
+ readonly provenance: Schema.String;
563
+ readonly purpose: Schema.String;
564
+ }>;
565
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
566
+ readonly policy: Schema.Literals<readonly ["exclusive", "append"]>;
567
+ readonly ttl: Schema.NullOr<Schema.Int>;
568
+ readonly port: Schema.Int;
569
+ readonly priority: Schema.Int;
570
+ readonly target: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
571
+ readonly weight: Schema.Int;
572
+ }>;
573
+ readonly TXT: Schema.TaggedStruct<"TXT", {
574
+ readonly metadata: Schema.Struct<{
575
+ readonly ownership: Schema.String;
576
+ readonly provenance: Schema.String;
577
+ readonly purpose: Schema.String;
578
+ }>;
579
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
580
+ readonly policy: Schema.Literals<readonly ["exclusive", "append"]>;
581
+ readonly ttl: Schema.NullOr<Schema.Int>;
582
+ readonly value: Schema.String;
583
+ }>;
584
+ }>;
585
+ readonly ttlDrift: Schema.Boolean;
586
+ }>;
587
+ }>;
588
+ type Operation = typeof Operation.Type;
589
+ declare const Schema$1: Schema.Struct<{
590
+ readonly digest: Schema.String;
591
+ readonly operations: Schema.$Array<Schema.TaggedUnion<{
592
+ readonly conflict: Schema.TaggedStruct<"conflict", {
593
+ readonly existing: Schema.$Array<Schema.Union<readonly [Schema.TaggedUnion<{
594
+ readonly A: Schema.TaggedStruct<"A", {
595
+ readonly metadata: Schema.Struct<{
596
+ readonly ownership: Schema.String;
597
+ readonly provenance: Schema.String;
598
+ readonly purpose: Schema.String;
599
+ }>;
600
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
601
+ readonly policy: Schema.Literals<readonly ["exclusive", "append"]>;
602
+ readonly ttl: Schema.NullOr<Schema.Int>;
603
+ readonly address: Schema.String;
604
+ }>;
605
+ readonly AAAA: Schema.TaggedStruct<"AAAA", {
606
+ readonly metadata: Schema.Struct<{
607
+ readonly ownership: Schema.String;
608
+ readonly provenance: Schema.String;
609
+ readonly purpose: Schema.String;
610
+ }>;
611
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
612
+ readonly policy: Schema.Literals<readonly ["exclusive", "append"]>;
613
+ readonly ttl: Schema.NullOr<Schema.Int>;
614
+ readonly address: Schema.String;
615
+ }>;
616
+ readonly CAA: Schema.TaggedStruct<"CAA", {
617
+ readonly metadata: Schema.Struct<{
618
+ readonly ownership: Schema.String;
619
+ readonly provenance: Schema.String;
620
+ readonly purpose: Schema.String;
621
+ }>;
622
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
623
+ readonly policy: Schema.Literals<readonly ["exclusive", "append"]>;
624
+ readonly ttl: Schema.NullOr<Schema.Int>;
625
+ readonly flags: Schema.Int;
626
+ readonly tag: Schema.Literals<readonly ["issue", "issuewild", "iodef"]>;
627
+ readonly value: Schema.String;
628
+ }>;
629
+ readonly CNAME: Schema.TaggedStruct<"CNAME", {
630
+ readonly metadata: Schema.Struct<{
631
+ readonly ownership: Schema.String;
632
+ readonly provenance: Schema.String;
633
+ readonly purpose: Schema.String;
634
+ }>;
635
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
636
+ readonly ttl: Schema.NullOr<Schema.Int>;
637
+ readonly policy: Schema.Literal<"exclusive">;
638
+ readonly target: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
639
+ }>;
640
+ readonly MX: Schema.TaggedStruct<"MX", {
641
+ readonly metadata: Schema.Struct<{
642
+ readonly ownership: Schema.String;
643
+ readonly provenance: Schema.String;
644
+ readonly purpose: Schema.String;
645
+ }>;
646
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
647
+ readonly policy: Schema.Literals<readonly ["exclusive", "append"]>;
648
+ readonly ttl: Schema.NullOr<Schema.Int>;
649
+ readonly exchange: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
650
+ readonly priority: Schema.Int;
651
+ }>;
652
+ readonly NS: Schema.TaggedStruct<"NS", {
653
+ readonly metadata: Schema.Struct<{
654
+ readonly ownership: Schema.String;
655
+ readonly provenance: Schema.String;
656
+ readonly purpose: Schema.String;
657
+ }>;
658
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
659
+ readonly policy: Schema.Literals<readonly ["exclusive", "append"]>;
660
+ readonly ttl: Schema.NullOr<Schema.Int>;
661
+ readonly target: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
662
+ }>;
663
+ readonly SRV: Schema.TaggedStruct<"SRV", {
664
+ readonly metadata: Schema.Struct<{
665
+ readonly ownership: Schema.String;
666
+ readonly provenance: Schema.String;
667
+ readonly purpose: Schema.String;
668
+ }>;
669
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
670
+ readonly policy: Schema.Literals<readonly ["exclusive", "append"]>;
671
+ readonly ttl: Schema.NullOr<Schema.Int>;
672
+ readonly port: Schema.Int;
673
+ readonly priority: Schema.Int;
674
+ readonly target: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
675
+ readonly weight: Schema.Int;
676
+ }>;
677
+ readonly TXT: Schema.TaggedStruct<"TXT", {
678
+ readonly metadata: Schema.Struct<{
679
+ readonly ownership: Schema.String;
680
+ readonly provenance: Schema.String;
681
+ readonly purpose: Schema.String;
682
+ }>;
683
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
684
+ readonly policy: Schema.Literals<readonly ["exclusive", "append"]>;
685
+ readonly ttl: Schema.NullOr<Schema.Int>;
686
+ readonly value: Schema.String;
687
+ }>;
688
+ }>, Schema.Struct<{
689
+ readonly _tag: Schema.Literal<"Opaque">;
690
+ readonly name: Schema.String;
691
+ readonly providerRecordId: Schema.NullOr<Schema.String>;
692
+ readonly providerType: Schema.String;
693
+ }>]>>;
694
+ readonly id: Schema.String;
695
+ readonly reason: Schema.String;
696
+ readonly requirement: Schema.TaggedUnion<{
697
+ readonly A: Schema.TaggedStruct<"A", {
698
+ readonly metadata: Schema.Struct<{
699
+ readonly ownership: Schema.String;
700
+ readonly provenance: Schema.String;
701
+ readonly purpose: Schema.String;
702
+ }>;
703
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
704
+ readonly policy: Schema.Literals<readonly ["exclusive", "append"]>;
705
+ readonly ttl: Schema.NullOr<Schema.Int>;
706
+ readonly address: Schema.String;
707
+ }>;
708
+ readonly AAAA: Schema.TaggedStruct<"AAAA", {
709
+ readonly metadata: Schema.Struct<{
710
+ readonly ownership: Schema.String;
711
+ readonly provenance: Schema.String;
712
+ readonly purpose: Schema.String;
713
+ }>;
714
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
715
+ readonly policy: Schema.Literals<readonly ["exclusive", "append"]>;
716
+ readonly ttl: Schema.NullOr<Schema.Int>;
717
+ readonly address: Schema.String;
718
+ }>;
719
+ readonly CAA: Schema.TaggedStruct<"CAA", {
720
+ readonly metadata: Schema.Struct<{
721
+ readonly ownership: Schema.String;
722
+ readonly provenance: Schema.String;
723
+ readonly purpose: Schema.String;
724
+ }>;
725
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
726
+ readonly policy: Schema.Literals<readonly ["exclusive", "append"]>;
727
+ readonly ttl: Schema.NullOr<Schema.Int>;
728
+ readonly flags: Schema.Int;
729
+ readonly tag: Schema.Literals<readonly ["issue", "issuewild", "iodef"]>;
730
+ readonly value: Schema.String;
731
+ }>;
732
+ readonly CNAME: Schema.TaggedStruct<"CNAME", {
733
+ readonly metadata: Schema.Struct<{
734
+ readonly ownership: Schema.String;
735
+ readonly provenance: Schema.String;
736
+ readonly purpose: Schema.String;
737
+ }>;
738
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
739
+ readonly ttl: Schema.NullOr<Schema.Int>;
740
+ readonly policy: Schema.Literal<"exclusive">;
741
+ readonly target: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
742
+ }>;
743
+ readonly MX: Schema.TaggedStruct<"MX", {
744
+ readonly metadata: Schema.Struct<{
745
+ readonly ownership: Schema.String;
746
+ readonly provenance: Schema.String;
747
+ readonly purpose: Schema.String;
748
+ }>;
749
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
750
+ readonly policy: Schema.Literals<readonly ["exclusive", "append"]>;
751
+ readonly ttl: Schema.NullOr<Schema.Int>;
752
+ readonly exchange: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
753
+ readonly priority: Schema.Int;
754
+ }>;
755
+ readonly NS: Schema.TaggedStruct<"NS", {
756
+ readonly metadata: Schema.Struct<{
757
+ readonly ownership: Schema.String;
758
+ readonly provenance: Schema.String;
759
+ readonly purpose: Schema.String;
760
+ }>;
761
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
762
+ readonly policy: Schema.Literals<readonly ["exclusive", "append"]>;
763
+ readonly ttl: Schema.NullOr<Schema.Int>;
764
+ readonly target: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
765
+ }>;
766
+ readonly SRV: Schema.TaggedStruct<"SRV", {
767
+ readonly metadata: Schema.Struct<{
768
+ readonly ownership: Schema.String;
769
+ readonly provenance: Schema.String;
770
+ readonly purpose: Schema.String;
771
+ }>;
772
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
773
+ readonly policy: Schema.Literals<readonly ["exclusive", "append"]>;
774
+ readonly ttl: Schema.NullOr<Schema.Int>;
775
+ readonly port: Schema.Int;
776
+ readonly priority: Schema.Int;
777
+ readonly target: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
778
+ readonly weight: Schema.Int;
779
+ }>;
780
+ readonly TXT: Schema.TaggedStruct<"TXT", {
781
+ readonly metadata: Schema.Struct<{
782
+ readonly ownership: Schema.String;
783
+ readonly provenance: Schema.String;
784
+ readonly purpose: Schema.String;
785
+ }>;
786
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
787
+ readonly policy: Schema.Literals<readonly ["exclusive", "append"]>;
788
+ readonly ttl: Schema.NullOr<Schema.Int>;
789
+ readonly value: Schema.String;
790
+ }>;
791
+ }>;
792
+ }>;
793
+ readonly create: Schema.TaggedStruct<"create", {
794
+ readonly id: Schema.String;
795
+ readonly requirement: Schema.TaggedUnion<{
796
+ readonly A: Schema.TaggedStruct<"A", {
797
+ readonly metadata: Schema.Struct<{
798
+ readonly ownership: Schema.String;
799
+ readonly provenance: Schema.String;
800
+ readonly purpose: Schema.String;
801
+ }>;
802
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
803
+ readonly policy: Schema.Literals<readonly ["exclusive", "append"]>;
804
+ readonly ttl: Schema.NullOr<Schema.Int>;
805
+ readonly address: Schema.String;
806
+ }>;
807
+ readonly AAAA: Schema.TaggedStruct<"AAAA", {
808
+ readonly metadata: Schema.Struct<{
809
+ readonly ownership: Schema.String;
810
+ readonly provenance: Schema.String;
811
+ readonly purpose: Schema.String;
812
+ }>;
813
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
814
+ readonly policy: Schema.Literals<readonly ["exclusive", "append"]>;
815
+ readonly ttl: Schema.NullOr<Schema.Int>;
816
+ readonly address: Schema.String;
817
+ }>;
818
+ readonly CAA: Schema.TaggedStruct<"CAA", {
819
+ readonly metadata: Schema.Struct<{
820
+ readonly ownership: Schema.String;
821
+ readonly provenance: Schema.String;
822
+ readonly purpose: Schema.String;
823
+ }>;
824
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
825
+ readonly policy: Schema.Literals<readonly ["exclusive", "append"]>;
826
+ readonly ttl: Schema.NullOr<Schema.Int>;
827
+ readonly flags: Schema.Int;
828
+ readonly tag: Schema.Literals<readonly ["issue", "issuewild", "iodef"]>;
829
+ readonly value: Schema.String;
830
+ }>;
831
+ readonly CNAME: Schema.TaggedStruct<"CNAME", {
832
+ readonly metadata: Schema.Struct<{
833
+ readonly ownership: Schema.String;
834
+ readonly provenance: Schema.String;
835
+ readonly purpose: Schema.String;
836
+ }>;
837
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
838
+ readonly ttl: Schema.NullOr<Schema.Int>;
839
+ readonly policy: Schema.Literal<"exclusive">;
840
+ readonly target: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
841
+ }>;
842
+ readonly MX: Schema.TaggedStruct<"MX", {
843
+ readonly metadata: Schema.Struct<{
844
+ readonly ownership: Schema.String;
845
+ readonly provenance: Schema.String;
846
+ readonly purpose: Schema.String;
847
+ }>;
848
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
849
+ readonly policy: Schema.Literals<readonly ["exclusive", "append"]>;
850
+ readonly ttl: Schema.NullOr<Schema.Int>;
851
+ readonly exchange: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
852
+ readonly priority: Schema.Int;
853
+ }>;
854
+ readonly NS: Schema.TaggedStruct<"NS", {
855
+ readonly metadata: Schema.Struct<{
856
+ readonly ownership: Schema.String;
857
+ readonly provenance: Schema.String;
858
+ readonly purpose: Schema.String;
859
+ }>;
860
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
861
+ readonly policy: Schema.Literals<readonly ["exclusive", "append"]>;
862
+ readonly ttl: Schema.NullOr<Schema.Int>;
863
+ readonly target: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
864
+ }>;
865
+ readonly SRV: Schema.TaggedStruct<"SRV", {
866
+ readonly metadata: Schema.Struct<{
867
+ readonly ownership: Schema.String;
868
+ readonly provenance: Schema.String;
869
+ readonly purpose: Schema.String;
870
+ }>;
871
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
872
+ readonly policy: Schema.Literals<readonly ["exclusive", "append"]>;
873
+ readonly ttl: Schema.NullOr<Schema.Int>;
874
+ readonly port: Schema.Int;
875
+ readonly priority: Schema.Int;
876
+ readonly target: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
877
+ readonly weight: Schema.Int;
878
+ }>;
879
+ readonly TXT: Schema.TaggedStruct<"TXT", {
880
+ readonly metadata: Schema.Struct<{
881
+ readonly ownership: Schema.String;
882
+ readonly provenance: Schema.String;
883
+ readonly purpose: Schema.String;
884
+ }>;
885
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
886
+ readonly policy: Schema.Literals<readonly ["exclusive", "append"]>;
887
+ readonly ttl: Schema.NullOr<Schema.Int>;
888
+ readonly value: Schema.String;
889
+ }>;
890
+ }>;
891
+ }>;
892
+ readonly noop: Schema.TaggedStruct<"noop", {
893
+ readonly id: Schema.String;
894
+ readonly requirement: Schema.TaggedUnion<{
895
+ readonly A: Schema.TaggedStruct<"A", {
896
+ readonly metadata: Schema.Struct<{
897
+ readonly ownership: Schema.String;
898
+ readonly provenance: Schema.String;
899
+ readonly purpose: Schema.String;
900
+ }>;
901
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
902
+ readonly policy: Schema.Literals<readonly ["exclusive", "append"]>;
903
+ readonly ttl: Schema.NullOr<Schema.Int>;
904
+ readonly address: Schema.String;
905
+ }>;
906
+ readonly AAAA: Schema.TaggedStruct<"AAAA", {
907
+ readonly metadata: Schema.Struct<{
908
+ readonly ownership: Schema.String;
909
+ readonly provenance: Schema.String;
910
+ readonly purpose: Schema.String;
911
+ }>;
912
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
913
+ readonly policy: Schema.Literals<readonly ["exclusive", "append"]>;
914
+ readonly ttl: Schema.NullOr<Schema.Int>;
915
+ readonly address: Schema.String;
916
+ }>;
917
+ readonly CAA: Schema.TaggedStruct<"CAA", {
918
+ readonly metadata: Schema.Struct<{
919
+ readonly ownership: Schema.String;
920
+ readonly provenance: Schema.String;
921
+ readonly purpose: Schema.String;
922
+ }>;
923
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
924
+ readonly policy: Schema.Literals<readonly ["exclusive", "append"]>;
925
+ readonly ttl: Schema.NullOr<Schema.Int>;
926
+ readonly flags: Schema.Int;
927
+ readonly tag: Schema.Literals<readonly ["issue", "issuewild", "iodef"]>;
928
+ readonly value: Schema.String;
929
+ }>;
930
+ readonly CNAME: Schema.TaggedStruct<"CNAME", {
931
+ readonly metadata: Schema.Struct<{
932
+ readonly ownership: Schema.String;
933
+ readonly provenance: Schema.String;
934
+ readonly purpose: Schema.String;
935
+ }>;
936
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
937
+ readonly ttl: Schema.NullOr<Schema.Int>;
938
+ readonly policy: Schema.Literal<"exclusive">;
939
+ readonly target: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
940
+ }>;
941
+ readonly MX: Schema.TaggedStruct<"MX", {
942
+ readonly metadata: Schema.Struct<{
943
+ readonly ownership: Schema.String;
944
+ readonly provenance: Schema.String;
945
+ readonly purpose: Schema.String;
946
+ }>;
947
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
948
+ readonly policy: Schema.Literals<readonly ["exclusive", "append"]>;
949
+ readonly ttl: Schema.NullOr<Schema.Int>;
950
+ readonly exchange: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
951
+ readonly priority: Schema.Int;
952
+ }>;
953
+ readonly NS: Schema.TaggedStruct<"NS", {
954
+ readonly metadata: Schema.Struct<{
955
+ readonly ownership: Schema.String;
956
+ readonly provenance: Schema.String;
957
+ readonly purpose: Schema.String;
958
+ }>;
959
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
960
+ readonly policy: Schema.Literals<readonly ["exclusive", "append"]>;
961
+ readonly ttl: Schema.NullOr<Schema.Int>;
962
+ readonly target: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
963
+ }>;
964
+ readonly SRV: Schema.TaggedStruct<"SRV", {
965
+ readonly metadata: Schema.Struct<{
966
+ readonly ownership: Schema.String;
967
+ readonly provenance: Schema.String;
968
+ readonly purpose: Schema.String;
969
+ }>;
970
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
971
+ readonly policy: Schema.Literals<readonly ["exclusive", "append"]>;
972
+ readonly ttl: Schema.NullOr<Schema.Int>;
973
+ readonly port: Schema.Int;
974
+ readonly priority: Schema.Int;
975
+ readonly target: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
976
+ readonly weight: Schema.Int;
977
+ }>;
978
+ readonly TXT: Schema.TaggedStruct<"TXT", {
979
+ readonly metadata: Schema.Struct<{
980
+ readonly ownership: Schema.String;
981
+ readonly provenance: Schema.String;
982
+ readonly purpose: Schema.String;
983
+ }>;
984
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
985
+ readonly policy: Schema.Literals<readonly ["exclusive", "append"]>;
986
+ readonly ttl: Schema.NullOr<Schema.Int>;
987
+ readonly value: Schema.String;
988
+ }>;
989
+ }>;
990
+ readonly ttlDrift: Schema.Boolean;
991
+ }>;
992
+ }>>;
993
+ readonly providerId: Schema.String;
994
+ readonly version: Schema.Literal<"domainkit.dns-plan.v1">;
995
+ readonly zone: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
996
+ }>;
997
+ interface DnsPlan extends Schema.Schema.Type<typeof Schema$1> {}
998
+ declare const Authorization: Schema.Struct<{
999
+ readonly allowPartial: Schema.Boolean;
1000
+ readonly operationIds: Schema.$Array<Schema.String>;
1001
+ readonly planDigest: Schema.String;
1002
+ readonly version: Schema.Literal<"domainkit.plan-authorization.v1">;
1003
+ }>;
1004
+ interface PlanAuthorization extends Schema.Schema.Type<typeof Authorization> {}
1005
+ declare const Receipt: Schema.Struct<{
1006
+ readonly appliedAt: Schema.DateFromString;
1007
+ readonly operations: Schema.$Array<Schema.Struct<{
1008
+ readonly operationId: Schema.String;
1009
+ readonly providerRecordId: Schema.NullOr<Schema.String>;
1010
+ }>>;
1011
+ readonly planDigest: Schema.String;
1012
+ readonly providerId: Schema.String;
1013
+ readonly status: Schema.Literals<readonly ["complete", "partial"]>;
1014
+ readonly version: Schema.Literal<"domainkit.apply-receipt.v1">;
1015
+ readonly zone: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
1016
+ }>;
1017
+ interface ApplyReceipt extends Schema.Schema.Type<typeof Receipt> {}
1018
+ declare const decode: (input: unknown) => Effect.Effect<{
1019
+ readonly digest: string;
1020
+ readonly operations: readonly ({
1021
+ readonly _tag: "conflict";
1022
+ readonly existing: readonly ({
1023
+ readonly _tag: "A";
1024
+ readonly metadata: {
1025
+ readonly ownership: string;
1026
+ readonly provenance: string;
1027
+ readonly purpose: string;
1028
+ };
1029
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
1030
+ readonly policy: "append" | "exclusive";
1031
+ readonly ttl: number | null;
1032
+ readonly address: string;
1033
+ } | {
1034
+ readonly _tag: "AAAA";
1035
+ readonly metadata: {
1036
+ readonly ownership: string;
1037
+ readonly provenance: string;
1038
+ readonly purpose: string;
1039
+ };
1040
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
1041
+ readonly policy: "append" | "exclusive";
1042
+ readonly ttl: number | null;
1043
+ readonly address: string;
1044
+ } | {
1045
+ readonly _tag: "CAA";
1046
+ readonly metadata: {
1047
+ readonly ownership: string;
1048
+ readonly provenance: string;
1049
+ readonly purpose: string;
1050
+ };
1051
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
1052
+ readonly policy: "append" | "exclusive";
1053
+ readonly ttl: number | null;
1054
+ readonly flags: number;
1055
+ readonly tag: "iodef" | "issue" | "issuewild";
1056
+ readonly value: string;
1057
+ } | {
1058
+ readonly _tag: "CNAME";
1059
+ readonly metadata: {
1060
+ readonly ownership: string;
1061
+ readonly provenance: string;
1062
+ readonly purpose: string;
1063
+ };
1064
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
1065
+ readonly ttl: number | null;
1066
+ readonly policy: "exclusive";
1067
+ readonly target: string & import("effect/Brand").Brand<"DomainName">;
1068
+ } | {
1069
+ readonly _tag: "MX";
1070
+ readonly metadata: {
1071
+ readonly ownership: string;
1072
+ readonly provenance: string;
1073
+ readonly purpose: string;
1074
+ };
1075
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
1076
+ readonly policy: "append" | "exclusive";
1077
+ readonly ttl: number | null;
1078
+ readonly exchange: string & import("effect/Brand").Brand<"DomainName">;
1079
+ readonly priority: number;
1080
+ } | {
1081
+ readonly _tag: "NS";
1082
+ readonly metadata: {
1083
+ readonly ownership: string;
1084
+ readonly provenance: string;
1085
+ readonly purpose: string;
1086
+ };
1087
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
1088
+ readonly policy: "append" | "exclusive";
1089
+ readonly ttl: number | null;
1090
+ readonly target: string & import("effect/Brand").Brand<"DomainName">;
1091
+ } | {
1092
+ readonly _tag: "SRV";
1093
+ readonly metadata: {
1094
+ readonly ownership: string;
1095
+ readonly provenance: string;
1096
+ readonly purpose: string;
1097
+ };
1098
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
1099
+ readonly policy: "append" | "exclusive";
1100
+ readonly ttl: number | null;
1101
+ readonly port: number;
1102
+ readonly priority: number;
1103
+ readonly target: string & import("effect/Brand").Brand<"DomainName">;
1104
+ readonly weight: number;
1105
+ } | {
1106
+ readonly _tag: "TXT";
1107
+ readonly metadata: {
1108
+ readonly ownership: string;
1109
+ readonly provenance: string;
1110
+ readonly purpose: string;
1111
+ };
1112
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
1113
+ readonly policy: "append" | "exclusive";
1114
+ readonly ttl: number | null;
1115
+ readonly value: string;
1116
+ } | {
1117
+ readonly _tag: "Opaque";
1118
+ readonly name: string;
1119
+ readonly providerRecordId: string | null;
1120
+ readonly providerType: string;
1121
+ })[];
1122
+ readonly id: string;
1123
+ readonly reason: string;
1124
+ readonly requirement: {
1125
+ readonly _tag: "A";
1126
+ readonly metadata: {
1127
+ readonly ownership: string;
1128
+ readonly provenance: string;
1129
+ readonly purpose: string;
1130
+ };
1131
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
1132
+ readonly policy: "append" | "exclusive";
1133
+ readonly ttl: number | null;
1134
+ readonly address: string;
1135
+ } | {
1136
+ readonly _tag: "AAAA";
1137
+ readonly metadata: {
1138
+ readonly ownership: string;
1139
+ readonly provenance: string;
1140
+ readonly purpose: string;
1141
+ };
1142
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
1143
+ readonly policy: "append" | "exclusive";
1144
+ readonly ttl: number | null;
1145
+ readonly address: string;
1146
+ } | {
1147
+ readonly _tag: "CAA";
1148
+ readonly metadata: {
1149
+ readonly ownership: string;
1150
+ readonly provenance: string;
1151
+ readonly purpose: string;
1152
+ };
1153
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
1154
+ readonly policy: "append" | "exclusive";
1155
+ readonly ttl: number | null;
1156
+ readonly flags: number;
1157
+ readonly tag: "iodef" | "issue" | "issuewild";
1158
+ readonly value: string;
1159
+ } | {
1160
+ readonly _tag: "CNAME";
1161
+ readonly metadata: {
1162
+ readonly ownership: string;
1163
+ readonly provenance: string;
1164
+ readonly purpose: string;
1165
+ };
1166
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
1167
+ readonly ttl: number | null;
1168
+ readonly policy: "exclusive";
1169
+ readonly target: string & import("effect/Brand").Brand<"DomainName">;
1170
+ } | {
1171
+ readonly _tag: "MX";
1172
+ readonly metadata: {
1173
+ readonly ownership: string;
1174
+ readonly provenance: string;
1175
+ readonly purpose: string;
1176
+ };
1177
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
1178
+ readonly policy: "append" | "exclusive";
1179
+ readonly ttl: number | null;
1180
+ readonly exchange: string & import("effect/Brand").Brand<"DomainName">;
1181
+ readonly priority: number;
1182
+ } | {
1183
+ readonly _tag: "NS";
1184
+ readonly metadata: {
1185
+ readonly ownership: string;
1186
+ readonly provenance: string;
1187
+ readonly purpose: string;
1188
+ };
1189
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
1190
+ readonly policy: "append" | "exclusive";
1191
+ readonly ttl: number | null;
1192
+ readonly target: string & import("effect/Brand").Brand<"DomainName">;
1193
+ } | {
1194
+ readonly _tag: "SRV";
1195
+ readonly metadata: {
1196
+ readonly ownership: string;
1197
+ readonly provenance: string;
1198
+ readonly purpose: string;
1199
+ };
1200
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
1201
+ readonly policy: "append" | "exclusive";
1202
+ readonly ttl: number | null;
1203
+ readonly port: number;
1204
+ readonly priority: number;
1205
+ readonly target: string & import("effect/Brand").Brand<"DomainName">;
1206
+ readonly weight: number;
1207
+ } | {
1208
+ readonly _tag: "TXT";
1209
+ readonly metadata: {
1210
+ readonly ownership: string;
1211
+ readonly provenance: string;
1212
+ readonly purpose: string;
1213
+ };
1214
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
1215
+ readonly policy: "append" | "exclusive";
1216
+ readonly ttl: number | null;
1217
+ readonly value: string;
1218
+ };
1219
+ } | {
1220
+ readonly _tag: "create";
1221
+ readonly id: string;
1222
+ readonly requirement: {
1223
+ readonly _tag: "A";
1224
+ readonly metadata: {
1225
+ readonly ownership: string;
1226
+ readonly provenance: string;
1227
+ readonly purpose: string;
1228
+ };
1229
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
1230
+ readonly policy: "append" | "exclusive";
1231
+ readonly ttl: number | null;
1232
+ readonly address: string;
1233
+ } | {
1234
+ readonly _tag: "AAAA";
1235
+ readonly metadata: {
1236
+ readonly ownership: string;
1237
+ readonly provenance: string;
1238
+ readonly purpose: string;
1239
+ };
1240
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
1241
+ readonly policy: "append" | "exclusive";
1242
+ readonly ttl: number | null;
1243
+ readonly address: string;
1244
+ } | {
1245
+ readonly _tag: "CAA";
1246
+ readonly metadata: {
1247
+ readonly ownership: string;
1248
+ readonly provenance: string;
1249
+ readonly purpose: string;
1250
+ };
1251
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
1252
+ readonly policy: "append" | "exclusive";
1253
+ readonly ttl: number | null;
1254
+ readonly flags: number;
1255
+ readonly tag: "iodef" | "issue" | "issuewild";
1256
+ readonly value: string;
1257
+ } | {
1258
+ readonly _tag: "CNAME";
1259
+ readonly metadata: {
1260
+ readonly ownership: string;
1261
+ readonly provenance: string;
1262
+ readonly purpose: string;
1263
+ };
1264
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
1265
+ readonly ttl: number | null;
1266
+ readonly policy: "exclusive";
1267
+ readonly target: string & import("effect/Brand").Brand<"DomainName">;
1268
+ } | {
1269
+ readonly _tag: "MX";
1270
+ readonly metadata: {
1271
+ readonly ownership: string;
1272
+ readonly provenance: string;
1273
+ readonly purpose: string;
1274
+ };
1275
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
1276
+ readonly policy: "append" | "exclusive";
1277
+ readonly ttl: number | null;
1278
+ readonly exchange: string & import("effect/Brand").Brand<"DomainName">;
1279
+ readonly priority: number;
1280
+ } | {
1281
+ readonly _tag: "NS";
1282
+ readonly metadata: {
1283
+ readonly ownership: string;
1284
+ readonly provenance: string;
1285
+ readonly purpose: string;
1286
+ };
1287
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
1288
+ readonly policy: "append" | "exclusive";
1289
+ readonly ttl: number | null;
1290
+ readonly target: string & import("effect/Brand").Brand<"DomainName">;
1291
+ } | {
1292
+ readonly _tag: "SRV";
1293
+ readonly metadata: {
1294
+ readonly ownership: string;
1295
+ readonly provenance: string;
1296
+ readonly purpose: string;
1297
+ };
1298
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
1299
+ readonly policy: "append" | "exclusive";
1300
+ readonly ttl: number | null;
1301
+ readonly port: number;
1302
+ readonly priority: number;
1303
+ readonly target: string & import("effect/Brand").Brand<"DomainName">;
1304
+ readonly weight: number;
1305
+ } | {
1306
+ readonly _tag: "TXT";
1307
+ readonly metadata: {
1308
+ readonly ownership: string;
1309
+ readonly provenance: string;
1310
+ readonly purpose: string;
1311
+ };
1312
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
1313
+ readonly policy: "append" | "exclusive";
1314
+ readonly ttl: number | null;
1315
+ readonly value: string;
1316
+ };
1317
+ } | {
1318
+ readonly _tag: "noop";
1319
+ readonly id: string;
1320
+ readonly requirement: {
1321
+ readonly _tag: "A";
1322
+ readonly metadata: {
1323
+ readonly ownership: string;
1324
+ readonly provenance: string;
1325
+ readonly purpose: string;
1326
+ };
1327
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
1328
+ readonly policy: "append" | "exclusive";
1329
+ readonly ttl: number | null;
1330
+ readonly address: string;
1331
+ } | {
1332
+ readonly _tag: "AAAA";
1333
+ readonly metadata: {
1334
+ readonly ownership: string;
1335
+ readonly provenance: string;
1336
+ readonly purpose: string;
1337
+ };
1338
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
1339
+ readonly policy: "append" | "exclusive";
1340
+ readonly ttl: number | null;
1341
+ readonly address: string;
1342
+ } | {
1343
+ readonly _tag: "CAA";
1344
+ readonly metadata: {
1345
+ readonly ownership: string;
1346
+ readonly provenance: string;
1347
+ readonly purpose: string;
1348
+ };
1349
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
1350
+ readonly policy: "append" | "exclusive";
1351
+ readonly ttl: number | null;
1352
+ readonly flags: number;
1353
+ readonly tag: "iodef" | "issue" | "issuewild";
1354
+ readonly value: string;
1355
+ } | {
1356
+ readonly _tag: "CNAME";
1357
+ readonly metadata: {
1358
+ readonly ownership: string;
1359
+ readonly provenance: string;
1360
+ readonly purpose: string;
1361
+ };
1362
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
1363
+ readonly ttl: number | null;
1364
+ readonly policy: "exclusive";
1365
+ readonly target: string & import("effect/Brand").Brand<"DomainName">;
1366
+ } | {
1367
+ readonly _tag: "MX";
1368
+ readonly metadata: {
1369
+ readonly ownership: string;
1370
+ readonly provenance: string;
1371
+ readonly purpose: string;
1372
+ };
1373
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
1374
+ readonly policy: "append" | "exclusive";
1375
+ readonly ttl: number | null;
1376
+ readonly exchange: string & import("effect/Brand").Brand<"DomainName">;
1377
+ readonly priority: number;
1378
+ } | {
1379
+ readonly _tag: "NS";
1380
+ readonly metadata: {
1381
+ readonly ownership: string;
1382
+ readonly provenance: string;
1383
+ readonly purpose: string;
1384
+ };
1385
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
1386
+ readonly policy: "append" | "exclusive";
1387
+ readonly ttl: number | null;
1388
+ readonly target: string & import("effect/Brand").Brand<"DomainName">;
1389
+ } | {
1390
+ readonly _tag: "SRV";
1391
+ readonly metadata: {
1392
+ readonly ownership: string;
1393
+ readonly provenance: string;
1394
+ readonly purpose: string;
1395
+ };
1396
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
1397
+ readonly policy: "append" | "exclusive";
1398
+ readonly ttl: number | null;
1399
+ readonly port: number;
1400
+ readonly priority: number;
1401
+ readonly target: string & import("effect/Brand").Brand<"DomainName">;
1402
+ readonly weight: number;
1403
+ } | {
1404
+ readonly _tag: "TXT";
1405
+ readonly metadata: {
1406
+ readonly ownership: string;
1407
+ readonly provenance: string;
1408
+ readonly purpose: string;
1409
+ };
1410
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
1411
+ readonly policy: "append" | "exclusive";
1412
+ readonly ttl: number | null;
1413
+ readonly value: string;
1414
+ };
1415
+ readonly ttlDrift: boolean;
1416
+ })[];
1417
+ readonly providerId: string;
1418
+ readonly version: "domainkit.dns-plan.v1";
1419
+ readonly zone: string & import("effect/Brand").Brand<"DomainName">;
1420
+ }, Error$2, never>;
1421
+ declare const encode: (input: {
1422
+ readonly digest: string;
1423
+ readonly operations: readonly ({
1424
+ readonly _tag: "conflict";
1425
+ readonly existing: readonly ({
1426
+ readonly _tag: "A";
1427
+ readonly metadata: {
1428
+ readonly ownership: string;
1429
+ readonly provenance: string;
1430
+ readonly purpose: string;
1431
+ };
1432
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
1433
+ readonly policy: "append" | "exclusive";
1434
+ readonly ttl: number | null;
1435
+ readonly address: string;
1436
+ } | {
1437
+ readonly _tag: "AAAA";
1438
+ readonly metadata: {
1439
+ readonly ownership: string;
1440
+ readonly provenance: string;
1441
+ readonly purpose: string;
1442
+ };
1443
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
1444
+ readonly policy: "append" | "exclusive";
1445
+ readonly ttl: number | null;
1446
+ readonly address: string;
1447
+ } | {
1448
+ readonly _tag: "CAA";
1449
+ readonly metadata: {
1450
+ readonly ownership: string;
1451
+ readonly provenance: string;
1452
+ readonly purpose: string;
1453
+ };
1454
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
1455
+ readonly policy: "append" | "exclusive";
1456
+ readonly ttl: number | null;
1457
+ readonly flags: number;
1458
+ readonly tag: "iodef" | "issue" | "issuewild";
1459
+ readonly value: string;
1460
+ } | {
1461
+ readonly _tag: "CNAME";
1462
+ readonly metadata: {
1463
+ readonly ownership: string;
1464
+ readonly provenance: string;
1465
+ readonly purpose: string;
1466
+ };
1467
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
1468
+ readonly ttl: number | null;
1469
+ readonly policy: "exclusive";
1470
+ readonly target: string & import("effect/Brand").Brand<"DomainName">;
1471
+ } | {
1472
+ readonly _tag: "MX";
1473
+ readonly metadata: {
1474
+ readonly ownership: string;
1475
+ readonly provenance: string;
1476
+ readonly purpose: string;
1477
+ };
1478
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
1479
+ readonly policy: "append" | "exclusive";
1480
+ readonly ttl: number | null;
1481
+ readonly exchange: string & import("effect/Brand").Brand<"DomainName">;
1482
+ readonly priority: number;
1483
+ } | {
1484
+ readonly _tag: "NS";
1485
+ readonly metadata: {
1486
+ readonly ownership: string;
1487
+ readonly provenance: string;
1488
+ readonly purpose: string;
1489
+ };
1490
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
1491
+ readonly policy: "append" | "exclusive";
1492
+ readonly ttl: number | null;
1493
+ readonly target: string & import("effect/Brand").Brand<"DomainName">;
1494
+ } | {
1495
+ readonly _tag: "SRV";
1496
+ readonly metadata: {
1497
+ readonly ownership: string;
1498
+ readonly provenance: string;
1499
+ readonly purpose: string;
1500
+ };
1501
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
1502
+ readonly policy: "append" | "exclusive";
1503
+ readonly ttl: number | null;
1504
+ readonly port: number;
1505
+ readonly priority: number;
1506
+ readonly target: string & import("effect/Brand").Brand<"DomainName">;
1507
+ readonly weight: number;
1508
+ } | {
1509
+ readonly _tag: "TXT";
1510
+ readonly metadata: {
1511
+ readonly ownership: string;
1512
+ readonly provenance: string;
1513
+ readonly purpose: string;
1514
+ };
1515
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
1516
+ readonly policy: "append" | "exclusive";
1517
+ readonly ttl: number | null;
1518
+ readonly value: string;
1519
+ } | {
1520
+ readonly _tag: "Opaque";
1521
+ readonly name: string;
1522
+ readonly providerRecordId: string | null;
1523
+ readonly providerType: string;
1524
+ })[];
1525
+ readonly id: string;
1526
+ readonly reason: string;
1527
+ readonly requirement: {
1528
+ readonly _tag: "A";
1529
+ readonly metadata: {
1530
+ readonly ownership: string;
1531
+ readonly provenance: string;
1532
+ readonly purpose: string;
1533
+ };
1534
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
1535
+ readonly policy: "append" | "exclusive";
1536
+ readonly ttl: number | null;
1537
+ readonly address: string;
1538
+ } | {
1539
+ readonly _tag: "AAAA";
1540
+ readonly metadata: {
1541
+ readonly ownership: string;
1542
+ readonly provenance: string;
1543
+ readonly purpose: string;
1544
+ };
1545
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
1546
+ readonly policy: "append" | "exclusive";
1547
+ readonly ttl: number | null;
1548
+ readonly address: string;
1549
+ } | {
1550
+ readonly _tag: "CAA";
1551
+ readonly metadata: {
1552
+ readonly ownership: string;
1553
+ readonly provenance: string;
1554
+ readonly purpose: string;
1555
+ };
1556
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
1557
+ readonly policy: "append" | "exclusive";
1558
+ readonly ttl: number | null;
1559
+ readonly flags: number;
1560
+ readonly tag: "iodef" | "issue" | "issuewild";
1561
+ readonly value: string;
1562
+ } | {
1563
+ readonly _tag: "CNAME";
1564
+ readonly metadata: {
1565
+ readonly ownership: string;
1566
+ readonly provenance: string;
1567
+ readonly purpose: string;
1568
+ };
1569
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
1570
+ readonly ttl: number | null;
1571
+ readonly policy: "exclusive";
1572
+ readonly target: string & import("effect/Brand").Brand<"DomainName">;
1573
+ } | {
1574
+ readonly _tag: "MX";
1575
+ readonly metadata: {
1576
+ readonly ownership: string;
1577
+ readonly provenance: string;
1578
+ readonly purpose: string;
1579
+ };
1580
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
1581
+ readonly policy: "append" | "exclusive";
1582
+ readonly ttl: number | null;
1583
+ readonly exchange: string & import("effect/Brand").Brand<"DomainName">;
1584
+ readonly priority: number;
1585
+ } | {
1586
+ readonly _tag: "NS";
1587
+ readonly metadata: {
1588
+ readonly ownership: string;
1589
+ readonly provenance: string;
1590
+ readonly purpose: string;
1591
+ };
1592
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
1593
+ readonly policy: "append" | "exclusive";
1594
+ readonly ttl: number | null;
1595
+ readonly target: string & import("effect/Brand").Brand<"DomainName">;
1596
+ } | {
1597
+ readonly _tag: "SRV";
1598
+ readonly metadata: {
1599
+ readonly ownership: string;
1600
+ readonly provenance: string;
1601
+ readonly purpose: string;
1602
+ };
1603
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
1604
+ readonly policy: "append" | "exclusive";
1605
+ readonly ttl: number | null;
1606
+ readonly port: number;
1607
+ readonly priority: number;
1608
+ readonly target: string & import("effect/Brand").Brand<"DomainName">;
1609
+ readonly weight: number;
1610
+ } | {
1611
+ readonly _tag: "TXT";
1612
+ readonly metadata: {
1613
+ readonly ownership: string;
1614
+ readonly provenance: string;
1615
+ readonly purpose: string;
1616
+ };
1617
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
1618
+ readonly policy: "append" | "exclusive";
1619
+ readonly ttl: number | null;
1620
+ readonly value: string;
1621
+ };
1622
+ } | {
1623
+ readonly _tag: "create";
1624
+ readonly id: string;
1625
+ readonly requirement: {
1626
+ readonly _tag: "A";
1627
+ readonly metadata: {
1628
+ readonly ownership: string;
1629
+ readonly provenance: string;
1630
+ readonly purpose: string;
1631
+ };
1632
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
1633
+ readonly policy: "append" | "exclusive";
1634
+ readonly ttl: number | null;
1635
+ readonly address: string;
1636
+ } | {
1637
+ readonly _tag: "AAAA";
1638
+ readonly metadata: {
1639
+ readonly ownership: string;
1640
+ readonly provenance: string;
1641
+ readonly purpose: string;
1642
+ };
1643
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
1644
+ readonly policy: "append" | "exclusive";
1645
+ readonly ttl: number | null;
1646
+ readonly address: string;
1647
+ } | {
1648
+ readonly _tag: "CAA";
1649
+ readonly metadata: {
1650
+ readonly ownership: string;
1651
+ readonly provenance: string;
1652
+ readonly purpose: string;
1653
+ };
1654
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
1655
+ readonly policy: "append" | "exclusive";
1656
+ readonly ttl: number | null;
1657
+ readonly flags: number;
1658
+ readonly tag: "iodef" | "issue" | "issuewild";
1659
+ readonly value: string;
1660
+ } | {
1661
+ readonly _tag: "CNAME";
1662
+ readonly metadata: {
1663
+ readonly ownership: string;
1664
+ readonly provenance: string;
1665
+ readonly purpose: string;
1666
+ };
1667
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
1668
+ readonly ttl: number | null;
1669
+ readonly policy: "exclusive";
1670
+ readonly target: string & import("effect/Brand").Brand<"DomainName">;
1671
+ } | {
1672
+ readonly _tag: "MX";
1673
+ readonly metadata: {
1674
+ readonly ownership: string;
1675
+ readonly provenance: string;
1676
+ readonly purpose: string;
1677
+ };
1678
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
1679
+ readonly policy: "append" | "exclusive";
1680
+ readonly ttl: number | null;
1681
+ readonly exchange: string & import("effect/Brand").Brand<"DomainName">;
1682
+ readonly priority: number;
1683
+ } | {
1684
+ readonly _tag: "NS";
1685
+ readonly metadata: {
1686
+ readonly ownership: string;
1687
+ readonly provenance: string;
1688
+ readonly purpose: string;
1689
+ };
1690
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
1691
+ readonly policy: "append" | "exclusive";
1692
+ readonly ttl: number | null;
1693
+ readonly target: string & import("effect/Brand").Brand<"DomainName">;
1694
+ } | {
1695
+ readonly _tag: "SRV";
1696
+ readonly metadata: {
1697
+ readonly ownership: string;
1698
+ readonly provenance: string;
1699
+ readonly purpose: string;
1700
+ };
1701
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
1702
+ readonly policy: "append" | "exclusive";
1703
+ readonly ttl: number | null;
1704
+ readonly port: number;
1705
+ readonly priority: number;
1706
+ readonly target: string & import("effect/Brand").Brand<"DomainName">;
1707
+ readonly weight: number;
1708
+ } | {
1709
+ readonly _tag: "TXT";
1710
+ readonly metadata: {
1711
+ readonly ownership: string;
1712
+ readonly provenance: string;
1713
+ readonly purpose: string;
1714
+ };
1715
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
1716
+ readonly policy: "append" | "exclusive";
1717
+ readonly ttl: number | null;
1718
+ readonly value: string;
1719
+ };
1720
+ } | {
1721
+ readonly _tag: "noop";
1722
+ readonly id: string;
1723
+ readonly requirement: {
1724
+ readonly _tag: "A";
1725
+ readonly metadata: {
1726
+ readonly ownership: string;
1727
+ readonly provenance: string;
1728
+ readonly purpose: string;
1729
+ };
1730
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
1731
+ readonly policy: "append" | "exclusive";
1732
+ readonly ttl: number | null;
1733
+ readonly address: string;
1734
+ } | {
1735
+ readonly _tag: "AAAA";
1736
+ readonly metadata: {
1737
+ readonly ownership: string;
1738
+ readonly provenance: string;
1739
+ readonly purpose: string;
1740
+ };
1741
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
1742
+ readonly policy: "append" | "exclusive";
1743
+ readonly ttl: number | null;
1744
+ readonly address: string;
1745
+ } | {
1746
+ readonly _tag: "CAA";
1747
+ readonly metadata: {
1748
+ readonly ownership: string;
1749
+ readonly provenance: string;
1750
+ readonly purpose: string;
1751
+ };
1752
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
1753
+ readonly policy: "append" | "exclusive";
1754
+ readonly ttl: number | null;
1755
+ readonly flags: number;
1756
+ readonly tag: "iodef" | "issue" | "issuewild";
1757
+ readonly value: string;
1758
+ } | {
1759
+ readonly _tag: "CNAME";
1760
+ readonly metadata: {
1761
+ readonly ownership: string;
1762
+ readonly provenance: string;
1763
+ readonly purpose: string;
1764
+ };
1765
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
1766
+ readonly ttl: number | null;
1767
+ readonly policy: "exclusive";
1768
+ readonly target: string & import("effect/Brand").Brand<"DomainName">;
1769
+ } | {
1770
+ readonly _tag: "MX";
1771
+ readonly metadata: {
1772
+ readonly ownership: string;
1773
+ readonly provenance: string;
1774
+ readonly purpose: string;
1775
+ };
1776
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
1777
+ readonly policy: "append" | "exclusive";
1778
+ readonly ttl: number | null;
1779
+ readonly exchange: string & import("effect/Brand").Brand<"DomainName">;
1780
+ readonly priority: number;
1781
+ } | {
1782
+ readonly _tag: "NS";
1783
+ readonly metadata: {
1784
+ readonly ownership: string;
1785
+ readonly provenance: string;
1786
+ readonly purpose: string;
1787
+ };
1788
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
1789
+ readonly policy: "append" | "exclusive";
1790
+ readonly ttl: number | null;
1791
+ readonly target: string & import("effect/Brand").Brand<"DomainName">;
1792
+ } | {
1793
+ readonly _tag: "SRV";
1794
+ readonly metadata: {
1795
+ readonly ownership: string;
1796
+ readonly provenance: string;
1797
+ readonly purpose: string;
1798
+ };
1799
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
1800
+ readonly policy: "append" | "exclusive";
1801
+ readonly ttl: number | null;
1802
+ readonly port: number;
1803
+ readonly priority: number;
1804
+ readonly target: string & import("effect/Brand").Brand<"DomainName">;
1805
+ readonly weight: number;
1806
+ } | {
1807
+ readonly _tag: "TXT";
1808
+ readonly metadata: {
1809
+ readonly ownership: string;
1810
+ readonly provenance: string;
1811
+ readonly purpose: string;
1812
+ };
1813
+ readonly name: string & import("effect/Brand").Brand<"DomainName">;
1814
+ readonly policy: "append" | "exclusive";
1815
+ readonly ttl: number | null;
1816
+ readonly value: string;
1817
+ };
1818
+ readonly ttlDrift: boolean;
1819
+ })[];
1820
+ readonly providerId: string;
1821
+ readonly version: "domainkit.dns-plan.v1";
1822
+ readonly zone: string & import("effect/Brand").Brand<"DomainName">;
1823
+ }, options?: import("effect/SchemaAST").ParseOptions) => {
1824
+ readonly digest: string;
1825
+ readonly operations: readonly ({
1826
+ readonly _tag: "conflict";
1827
+ readonly existing: readonly ({
1828
+ readonly _tag: "A";
1829
+ readonly metadata: {
1830
+ readonly ownership: string;
1831
+ readonly provenance: string;
1832
+ readonly purpose: string;
1833
+ };
1834
+ readonly name: string;
1835
+ readonly policy: "append" | "exclusive";
1836
+ readonly ttl: number | null;
1837
+ readonly address: string;
1838
+ } | {
1839
+ readonly _tag: "AAAA";
1840
+ readonly metadata: {
1841
+ readonly ownership: string;
1842
+ readonly provenance: string;
1843
+ readonly purpose: string;
1844
+ };
1845
+ readonly name: string;
1846
+ readonly policy: "append" | "exclusive";
1847
+ readonly ttl: number | null;
1848
+ readonly address: string;
1849
+ } | {
1850
+ readonly _tag: "CAA";
1851
+ readonly metadata: {
1852
+ readonly ownership: string;
1853
+ readonly provenance: string;
1854
+ readonly purpose: string;
1855
+ };
1856
+ readonly name: string;
1857
+ readonly policy: "append" | "exclusive";
1858
+ readonly ttl: number | null;
1859
+ readonly flags: number;
1860
+ readonly tag: "iodef" | "issue" | "issuewild";
1861
+ readonly value: string;
1862
+ } | {
1863
+ readonly _tag: "CNAME";
1864
+ readonly metadata: {
1865
+ readonly ownership: string;
1866
+ readonly provenance: string;
1867
+ readonly purpose: string;
1868
+ };
1869
+ readonly name: string;
1870
+ readonly ttl: number | null;
1871
+ readonly policy: "exclusive";
1872
+ readonly target: string;
1873
+ } | {
1874
+ readonly _tag: "MX";
1875
+ readonly metadata: {
1876
+ readonly ownership: string;
1877
+ readonly provenance: string;
1878
+ readonly purpose: string;
1879
+ };
1880
+ readonly name: string;
1881
+ readonly policy: "append" | "exclusive";
1882
+ readonly ttl: number | null;
1883
+ readonly exchange: string;
1884
+ readonly priority: number;
1885
+ } | {
1886
+ readonly _tag: "NS";
1887
+ readonly metadata: {
1888
+ readonly ownership: string;
1889
+ readonly provenance: string;
1890
+ readonly purpose: string;
1891
+ };
1892
+ readonly name: string;
1893
+ readonly policy: "append" | "exclusive";
1894
+ readonly ttl: number | null;
1895
+ readonly target: string;
1896
+ } | {
1897
+ readonly _tag: "SRV";
1898
+ readonly metadata: {
1899
+ readonly ownership: string;
1900
+ readonly provenance: string;
1901
+ readonly purpose: string;
1902
+ };
1903
+ readonly name: string;
1904
+ readonly policy: "append" | "exclusive";
1905
+ readonly ttl: number | null;
1906
+ readonly port: number;
1907
+ readonly priority: number;
1908
+ readonly target: string;
1909
+ readonly weight: number;
1910
+ } | {
1911
+ readonly _tag: "TXT";
1912
+ readonly metadata: {
1913
+ readonly ownership: string;
1914
+ readonly provenance: string;
1915
+ readonly purpose: string;
1916
+ };
1917
+ readonly name: string;
1918
+ readonly policy: "append" | "exclusive";
1919
+ readonly ttl: number | null;
1920
+ readonly value: string;
1921
+ } | {
1922
+ readonly _tag: "Opaque";
1923
+ readonly name: string;
1924
+ readonly providerRecordId: string | null;
1925
+ readonly providerType: string;
1926
+ })[];
1927
+ readonly id: string;
1928
+ readonly reason: string;
1929
+ readonly requirement: {
1930
+ readonly _tag: "A";
1931
+ readonly metadata: {
1932
+ readonly ownership: string;
1933
+ readonly provenance: string;
1934
+ readonly purpose: string;
1935
+ };
1936
+ readonly name: string;
1937
+ readonly policy: "append" | "exclusive";
1938
+ readonly ttl: number | null;
1939
+ readonly address: string;
1940
+ } | {
1941
+ readonly _tag: "AAAA";
1942
+ readonly metadata: {
1943
+ readonly ownership: string;
1944
+ readonly provenance: string;
1945
+ readonly purpose: string;
1946
+ };
1947
+ readonly name: string;
1948
+ readonly policy: "append" | "exclusive";
1949
+ readonly ttl: number | null;
1950
+ readonly address: string;
1951
+ } | {
1952
+ readonly _tag: "CAA";
1953
+ readonly metadata: {
1954
+ readonly ownership: string;
1955
+ readonly provenance: string;
1956
+ readonly purpose: string;
1957
+ };
1958
+ readonly name: string;
1959
+ readonly policy: "append" | "exclusive";
1960
+ readonly ttl: number | null;
1961
+ readonly flags: number;
1962
+ readonly tag: "iodef" | "issue" | "issuewild";
1963
+ readonly value: string;
1964
+ } | {
1965
+ readonly _tag: "CNAME";
1966
+ readonly metadata: {
1967
+ readonly ownership: string;
1968
+ readonly provenance: string;
1969
+ readonly purpose: string;
1970
+ };
1971
+ readonly name: string;
1972
+ readonly ttl: number | null;
1973
+ readonly policy: "exclusive";
1974
+ readonly target: string;
1975
+ } | {
1976
+ readonly _tag: "MX";
1977
+ readonly metadata: {
1978
+ readonly ownership: string;
1979
+ readonly provenance: string;
1980
+ readonly purpose: string;
1981
+ };
1982
+ readonly name: string;
1983
+ readonly policy: "append" | "exclusive";
1984
+ readonly ttl: number | null;
1985
+ readonly exchange: string;
1986
+ readonly priority: number;
1987
+ } | {
1988
+ readonly _tag: "NS";
1989
+ readonly metadata: {
1990
+ readonly ownership: string;
1991
+ readonly provenance: string;
1992
+ readonly purpose: string;
1993
+ };
1994
+ readonly name: string;
1995
+ readonly policy: "append" | "exclusive";
1996
+ readonly ttl: number | null;
1997
+ readonly target: string;
1998
+ } | {
1999
+ readonly _tag: "SRV";
2000
+ readonly metadata: {
2001
+ readonly ownership: string;
2002
+ readonly provenance: string;
2003
+ readonly purpose: string;
2004
+ };
2005
+ readonly name: string;
2006
+ readonly policy: "append" | "exclusive";
2007
+ readonly ttl: number | null;
2008
+ readonly port: number;
2009
+ readonly priority: number;
2010
+ readonly target: string;
2011
+ readonly weight: number;
2012
+ } | {
2013
+ readonly _tag: "TXT";
2014
+ readonly metadata: {
2015
+ readonly ownership: string;
2016
+ readonly provenance: string;
2017
+ readonly purpose: string;
2018
+ };
2019
+ readonly name: string;
2020
+ readonly policy: "append" | "exclusive";
2021
+ readonly ttl: number | null;
2022
+ readonly value: string;
2023
+ };
2024
+ } | {
2025
+ readonly _tag: "create";
2026
+ readonly id: string;
2027
+ readonly requirement: {
2028
+ readonly _tag: "A";
2029
+ readonly metadata: {
2030
+ readonly ownership: string;
2031
+ readonly provenance: string;
2032
+ readonly purpose: string;
2033
+ };
2034
+ readonly name: string;
2035
+ readonly policy: "append" | "exclusive";
2036
+ readonly ttl: number | null;
2037
+ readonly address: string;
2038
+ } | {
2039
+ readonly _tag: "AAAA";
2040
+ readonly metadata: {
2041
+ readonly ownership: string;
2042
+ readonly provenance: string;
2043
+ readonly purpose: string;
2044
+ };
2045
+ readonly name: string;
2046
+ readonly policy: "append" | "exclusive";
2047
+ readonly ttl: number | null;
2048
+ readonly address: string;
2049
+ } | {
2050
+ readonly _tag: "CAA";
2051
+ readonly metadata: {
2052
+ readonly ownership: string;
2053
+ readonly provenance: string;
2054
+ readonly purpose: string;
2055
+ };
2056
+ readonly name: string;
2057
+ readonly policy: "append" | "exclusive";
2058
+ readonly ttl: number | null;
2059
+ readonly flags: number;
2060
+ readonly tag: "iodef" | "issue" | "issuewild";
2061
+ readonly value: string;
2062
+ } | {
2063
+ readonly _tag: "CNAME";
2064
+ readonly metadata: {
2065
+ readonly ownership: string;
2066
+ readonly provenance: string;
2067
+ readonly purpose: string;
2068
+ };
2069
+ readonly name: string;
2070
+ readonly ttl: number | null;
2071
+ readonly policy: "exclusive";
2072
+ readonly target: string;
2073
+ } | {
2074
+ readonly _tag: "MX";
2075
+ readonly metadata: {
2076
+ readonly ownership: string;
2077
+ readonly provenance: string;
2078
+ readonly purpose: string;
2079
+ };
2080
+ readonly name: string;
2081
+ readonly policy: "append" | "exclusive";
2082
+ readonly ttl: number | null;
2083
+ readonly exchange: string;
2084
+ readonly priority: number;
2085
+ } | {
2086
+ readonly _tag: "NS";
2087
+ readonly metadata: {
2088
+ readonly ownership: string;
2089
+ readonly provenance: string;
2090
+ readonly purpose: string;
2091
+ };
2092
+ readonly name: string;
2093
+ readonly policy: "append" | "exclusive";
2094
+ readonly ttl: number | null;
2095
+ readonly target: string;
2096
+ } | {
2097
+ readonly _tag: "SRV";
2098
+ readonly metadata: {
2099
+ readonly ownership: string;
2100
+ readonly provenance: string;
2101
+ readonly purpose: string;
2102
+ };
2103
+ readonly name: string;
2104
+ readonly policy: "append" | "exclusive";
2105
+ readonly ttl: number | null;
2106
+ readonly port: number;
2107
+ readonly priority: number;
2108
+ readonly target: string;
2109
+ readonly weight: number;
2110
+ } | {
2111
+ readonly _tag: "TXT";
2112
+ readonly metadata: {
2113
+ readonly ownership: string;
2114
+ readonly provenance: string;
2115
+ readonly purpose: string;
2116
+ };
2117
+ readonly name: string;
2118
+ readonly policy: "append" | "exclusive";
2119
+ readonly ttl: number | null;
2120
+ readonly value: string;
2121
+ };
2122
+ } | {
2123
+ readonly _tag: "noop";
2124
+ readonly id: string;
2125
+ readonly requirement: {
2126
+ readonly _tag: "A";
2127
+ readonly metadata: {
2128
+ readonly ownership: string;
2129
+ readonly provenance: string;
2130
+ readonly purpose: string;
2131
+ };
2132
+ readonly name: string;
2133
+ readonly policy: "append" | "exclusive";
2134
+ readonly ttl: number | null;
2135
+ readonly address: string;
2136
+ } | {
2137
+ readonly _tag: "AAAA";
2138
+ readonly metadata: {
2139
+ readonly ownership: string;
2140
+ readonly provenance: string;
2141
+ readonly purpose: string;
2142
+ };
2143
+ readonly name: string;
2144
+ readonly policy: "append" | "exclusive";
2145
+ readonly ttl: number | null;
2146
+ readonly address: string;
2147
+ } | {
2148
+ readonly _tag: "CAA";
2149
+ readonly metadata: {
2150
+ readonly ownership: string;
2151
+ readonly provenance: string;
2152
+ readonly purpose: string;
2153
+ };
2154
+ readonly name: string;
2155
+ readonly policy: "append" | "exclusive";
2156
+ readonly ttl: number | null;
2157
+ readonly flags: number;
2158
+ readonly tag: "iodef" | "issue" | "issuewild";
2159
+ readonly value: string;
2160
+ } | {
2161
+ readonly _tag: "CNAME";
2162
+ readonly metadata: {
2163
+ readonly ownership: string;
2164
+ readonly provenance: string;
2165
+ readonly purpose: string;
2166
+ };
2167
+ readonly name: string;
2168
+ readonly ttl: number | null;
2169
+ readonly policy: "exclusive";
2170
+ readonly target: string;
2171
+ } | {
2172
+ readonly _tag: "MX";
2173
+ readonly metadata: {
2174
+ readonly ownership: string;
2175
+ readonly provenance: string;
2176
+ readonly purpose: string;
2177
+ };
2178
+ readonly name: string;
2179
+ readonly policy: "append" | "exclusive";
2180
+ readonly ttl: number | null;
2181
+ readonly exchange: string;
2182
+ readonly priority: number;
2183
+ } | {
2184
+ readonly _tag: "NS";
2185
+ readonly metadata: {
2186
+ readonly ownership: string;
2187
+ readonly provenance: string;
2188
+ readonly purpose: string;
2189
+ };
2190
+ readonly name: string;
2191
+ readonly policy: "append" | "exclusive";
2192
+ readonly ttl: number | null;
2193
+ readonly target: string;
2194
+ } | {
2195
+ readonly _tag: "SRV";
2196
+ readonly metadata: {
2197
+ readonly ownership: string;
2198
+ readonly provenance: string;
2199
+ readonly purpose: string;
2200
+ };
2201
+ readonly name: string;
2202
+ readonly policy: "append" | "exclusive";
2203
+ readonly ttl: number | null;
2204
+ readonly port: number;
2205
+ readonly priority: number;
2206
+ readonly target: string;
2207
+ readonly weight: number;
2208
+ } | {
2209
+ readonly _tag: "TXT";
2210
+ readonly metadata: {
2211
+ readonly ownership: string;
2212
+ readonly provenance: string;
2213
+ readonly purpose: string;
2214
+ };
2215
+ readonly name: string;
2216
+ readonly policy: "append" | "exclusive";
2217
+ readonly ttl: number | null;
2218
+ readonly value: string;
2219
+ };
2220
+ readonly ttlDrift: boolean;
2221
+ })[];
2222
+ readonly providerId: string;
2223
+ readonly version: "domainkit.dns-plan.v1";
2224
+ readonly zone: string;
2225
+ };
2226
+ declare const decodeReceipt: (input: unknown) => Effect.Effect<{
2227
+ readonly appliedAt: Date;
2228
+ readonly operations: readonly {
2229
+ readonly operationId: string;
2230
+ readonly providerRecordId: string | null;
2231
+ }[];
2232
+ readonly planDigest: string;
2233
+ readonly providerId: string;
2234
+ readonly status: "complete" | "partial";
2235
+ readonly version: "domainkit.apply-receipt.v1";
2236
+ readonly zone: string & import("effect/Brand").Brand<"DomainName">;
2237
+ }, Error$2, never>;
2238
+ declare const encodeReceipt: (input: {
2239
+ readonly appliedAt: Date;
2240
+ readonly operations: readonly {
2241
+ readonly operationId: string;
2242
+ readonly providerRecordId: string | null;
2243
+ }[];
2244
+ readonly planDigest: string;
2245
+ readonly providerId: string;
2246
+ readonly status: "complete" | "partial";
2247
+ readonly version: "domainkit.apply-receipt.v1";
2248
+ readonly zone: string & import("effect/Brand").Brand<"DomainName">;
2249
+ }, options?: import("effect/SchemaAST").ParseOptions) => {
2250
+ readonly appliedAt: string;
2251
+ readonly operations: readonly {
2252
+ readonly operationId: string;
2253
+ readonly providerRecordId: string | null;
2254
+ }[];
2255
+ readonly planDigest: string;
2256
+ readonly providerId: string;
2257
+ readonly status: "complete" | "partial";
2258
+ readonly version: "domainkit.apply-receipt.v1";
2259
+ readonly zone: string;
2260
+ };
2261
+ declare namespace receipt_d_exports {
2262
+ export { AsyncInterface$1 as AsyncInterface, Interface$1 as Interface, Service$1 as Service, layerFromAsync$1 as layerFromAsync, toAsync$1 as toAsync };
2263
+ }
2264
+ interface Interface$1 {
2265
+ readonly get: (planDigest: string) => Effect.Effect<ApplyReceipt | null, Error$1>;
2266
+ readonly put: (receipt: ApplyReceipt) => Effect.Effect<void, Error$1>;
2267
+ }
2268
+ declare const Service_base$1: Context.ServiceClass<Service$1, "@domainkit/ReceiptStore", Interface$1>;
2269
+ declare class Service$1 extends Service_base$1 {}
2270
+ interface AsyncInterface$1 {
2271
+ readonly get: (planDigest: string) => Promise<ApplyReceipt | null>;
2272
+ readonly put: (receipt: ApplyReceipt) => Promise<void>;
2273
+ }
2274
+ declare const toAsync$1: (store: Interface$1) => AsyncInterface$1;
2275
+ declare const layerFromAsync$1: (store: AsyncInterface$1) => Layer.Layer<Service$1>;
2276
+ declare namespace resolver_d_exports {
2277
+ export { Answer, AsyncInterface, AsyncResolution, Error, Interface, Query, Resolution, Service, layerFromAsync, toAsync };
2278
+ }
2279
+ interface Query {
2280
+ readonly name: DomainName;
2281
+ readonly signal?: AbortSignal;
2282
+ readonly type: Type;
2283
+ }
2284
+ declare const Answer: Schema.Struct<{
2285
+ readonly data: Schema.String;
2286
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
2287
+ readonly ttl: Schema.Int;
2288
+ readonly type: Schema.Literals<readonly ["A", "AAAA", "CNAME", "TXT", "MX", "CAA", "NS", "SRV"]>;
2289
+ }>;
2290
+ interface Answer extends Schema.Schema.Type<typeof Answer> {}
2291
+ declare const Resolution: Schema.TaggedUnion<{
2292
+ readonly answer: Schema.TaggedStruct<"answer", {
2293
+ readonly answers: Schema.$Array<Schema.Struct<{
2294
+ readonly data: Schema.String;
2295
+ readonly name: Schema.decodeTo<Schema.brand<Schema.String, "DomainName">, Schema.String, never, never>;
2296
+ readonly ttl: Schema.Int;
2297
+ readonly type: Schema.Literals<readonly ["A", "AAAA", "CNAME", "TXT", "MX", "CAA", "NS", "SRV"]>;
2298
+ }>>;
2299
+ }>;
2300
+ readonly nodata: Schema.TaggedStruct<"nodata", {}>;
2301
+ }>;
2302
+ type Resolution = typeof Resolution.Type;
2303
+ declare const Error_base: Schema.Class<Error, Schema.TaggedStruct<"ResolverError", {
2304
+ readonly cause: Schema.optionalKey<Schema.Unknown>;
2305
+ readonly message: Schema.String;
2306
+ readonly reason: Schema.Literals<readonly ["response", "timeout", "transport"]>;
2307
+ }>, import("effect/Cause").YieldableError>;
2308
+ declare class Error extends Error_base {}
2309
+ interface Interface {
2310
+ readonly resolve: (query: Query) => Effect.Effect<Resolution, Error>;
2311
+ }
2312
+ declare const Service_base: Context.ServiceClass<Service, "@domainkit/DnsResolver", Interface>;
2313
+ declare class Service extends Service_base {}
2314
+ type AsyncResolution = Resolution | {
2315
+ readonly _tag: "timeout";
2316
+ } | {
2317
+ readonly _tag: "failure";
2318
+ readonly message: string;
2319
+ };
2320
+ interface AsyncInterface {
2321
+ readonly resolve: (query: Query) => Promise<AsyncResolution>;
2322
+ }
2323
+ declare const layerFromAsync: (resolver: AsyncInterface) => Layer.Layer<Service>;
2324
+ declare const toAsync: (resolver: Interface) => AsyncInterface;
2325
+ //#endregion
2326
+ export { Service$3 as A, Connection as B, types_d_exports as C, oauth_state_d_exports as D, Service$2 as E, connection_d_exports as F, assertGrant as G, OAuthContinuation as H, Error$1 as I, connection_d_exports$1 as K, error_d_exports as L, AsyncInterface$4 as M, Interface$4 as N, AsyncInterface$3 as O, Service$4 as P, AuthorizationError as R, encodeReceipt as S, Interface$2 as T, Schema$2 as U, Grant as V, StoredCredential as W, Operation as _, Interface as a, Schema$1 as b, Service as c, Interface$1 as d, Service$1 as f, DnsPlan as g, Authorization as h, Error as i, credential_d_exports as j, Interface$3 as k, resolver_d_exports as l, ApplyReceipt as m, AsyncInterface as n, Query as o, receipt_d_exports as p, encode$1 as q, AsyncResolution as r, Resolution as s, Answer as t, AsyncInterface$1 as u, PlanAuthorization as v, AsyncInterface$2 as w, encode as x, Receipt as y, Capability as z };
2327
+ //# sourceMappingURL=resolver-BjZwN2JE.d.mts.map