@effect-auth/core 0.1.0-alpha.1 → 0.1.0-alpha.10

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 (227) hide show
  1. package/README.md +728 -72
  2. package/dist/ApiKey.d.ts +207 -0
  3. package/dist/ApiKey.d.ts.map +1 -0
  4. package/dist/ApiKey.js +275 -0
  5. package/dist/ApiKey.js.map +1 -0
  6. package/dist/AuditLog.d.ts +275 -1
  7. package/dist/AuditLog.d.ts.map +1 -1
  8. package/dist/AuditLog.js +213 -1
  9. package/dist/AuditLog.js.map +1 -1
  10. package/dist/AuthConfig.d.ts +42 -0
  11. package/dist/AuthConfig.d.ts.map +1 -0
  12. package/dist/AuthConfig.js +43 -0
  13. package/dist/AuthConfig.js.map +1 -0
  14. package/dist/AuthFlow.d.ts +462 -36
  15. package/dist/AuthFlow.d.ts.map +1 -1
  16. package/dist/AuthFlow.js +657 -5
  17. package/dist/AuthFlow.js.map +1 -1
  18. package/dist/AuthKernel.d.ts +3 -0
  19. package/dist/AuthKernel.d.ts.map +1 -0
  20. package/dist/AuthKernel.js +9 -0
  21. package/dist/AuthKernel.js.map +1 -0
  22. package/dist/Challenge.d.ts +24 -4
  23. package/dist/Challenge.d.ts.map +1 -1
  24. package/dist/Challenge.js +167 -1
  25. package/dist/Challenge.js.map +1 -1
  26. package/dist/Client.d.ts +378 -0
  27. package/dist/Client.d.ts.map +1 -0
  28. package/dist/Client.js +768 -0
  29. package/dist/Client.js.map +1 -0
  30. package/dist/Crypto.d.ts +6 -1
  31. package/dist/Crypto.d.ts.map +1 -1
  32. package/dist/Crypto.js +62 -1
  33. package/dist/Crypto.js.map +1 -1
  34. package/dist/EffectQbSqliteStorage.d.ts +600 -0
  35. package/dist/EffectQbSqliteStorage.d.ts.map +1 -0
  36. package/dist/EffectQbSqliteStorage.js +1637 -0
  37. package/dist/EffectQbSqliteStorage.js.map +1 -0
  38. package/dist/EmailOtp.d.ts +120 -0
  39. package/dist/EmailOtp.d.ts.map +1 -0
  40. package/dist/EmailOtp.js +286 -0
  41. package/dist/EmailOtp.js.map +1 -0
  42. package/dist/EmailVerification.d.ts +121 -0
  43. package/dist/EmailVerification.d.ts.map +1 -0
  44. package/dist/EmailVerification.js +200 -0
  45. package/dist/EmailVerification.js.map +1 -0
  46. package/dist/HttpApi/Api.d.ts +1956 -0
  47. package/dist/HttpApi/Api.d.ts.map +1 -0
  48. package/dist/HttpApi/Api.js +2325 -0
  49. package/dist/HttpApi/Api.js.map +1 -0
  50. package/dist/HttpApi/Endpoints.d.ts +945 -0
  51. package/dist/HttpApi/Endpoints.d.ts.map +1 -0
  52. package/dist/HttpApi/Endpoints.js +373 -0
  53. package/dist/HttpApi/Endpoints.js.map +1 -0
  54. package/dist/HttpApi/Errors.d.ts +82 -0
  55. package/dist/HttpApi/Errors.d.ts.map +1 -0
  56. package/dist/HttpApi/Errors.js +184 -0
  57. package/dist/HttpApi/Errors.js.map +1 -0
  58. package/dist/HttpApi/Schemas.d.ts +1113 -0
  59. package/dist/HttpApi/Schemas.d.ts.map +1 -0
  60. package/dist/HttpApi/Schemas.js +734 -0
  61. package/dist/HttpApi/Schemas.js.map +1 -0
  62. package/dist/HttpApi/Security.d.ts +159 -0
  63. package/dist/HttpApi/Security.d.ts.map +1 -0
  64. package/dist/HttpApi/Security.js +530 -0
  65. package/dist/HttpApi/Security.js.map +1 -0
  66. package/dist/HttpApi/Transport.d.ts +65 -0
  67. package/dist/HttpApi/Transport.d.ts.map +1 -0
  68. package/dist/HttpApi/Transport.js +311 -0
  69. package/dist/HttpApi/Transport.js.map +1 -0
  70. package/dist/HttpApi/index.d.ts +8 -0
  71. package/dist/HttpApi/index.d.ts.map +1 -0
  72. package/dist/HttpApi/index.js +7 -0
  73. package/dist/HttpApi/index.js.map +1 -0
  74. package/dist/HttpApi.d.ts +2 -0
  75. package/dist/HttpApi.d.ts.map +1 -0
  76. package/dist/HttpApi.js +2 -0
  77. package/dist/HttpApi.js.map +1 -0
  78. package/dist/Identifiers.d.ts.map +1 -1
  79. package/dist/Identifiers.js.map +1 -1
  80. package/dist/Internal.d.ts +7 -0
  81. package/dist/Internal.d.ts.map +1 -0
  82. package/dist/Internal.js +12 -0
  83. package/dist/Internal.js.map +1 -0
  84. package/dist/Jwt.d.ts +271 -0
  85. package/dist/Jwt.d.ts.map +1 -0
  86. package/dist/Jwt.js +512 -0
  87. package/dist/Jwt.js.map +1 -0
  88. package/dist/LoginApproval.d.ts +314 -0
  89. package/dist/LoginApproval.d.ts.map +1 -0
  90. package/dist/LoginApproval.js +551 -0
  91. package/dist/LoginApproval.js.map +1 -0
  92. package/dist/LoginNotification.d.ts +183 -0
  93. package/dist/LoginNotification.d.ts.map +1 -0
  94. package/dist/LoginNotification.js +329 -0
  95. package/dist/LoginNotification.js.map +1 -0
  96. package/dist/LoginRisk.d.ts +73 -0
  97. package/dist/LoginRisk.d.ts.map +1 -0
  98. package/dist/LoginRisk.js +57 -0
  99. package/dist/LoginRisk.js.map +1 -0
  100. package/dist/MagicLink.d.ts +85 -0
  101. package/dist/MagicLink.d.ts.map +1 -0
  102. package/dist/MagicLink.js +206 -0
  103. package/dist/MagicLink.js.map +1 -0
  104. package/dist/Mailer.d.ts +147 -0
  105. package/dist/Mailer.d.ts.map +1 -0
  106. package/dist/Mailer.js +208 -0
  107. package/dist/Mailer.js.map +1 -0
  108. package/dist/OAuth.d.ts +934 -0
  109. package/dist/OAuth.d.ts.map +1 -0
  110. package/dist/OAuth.js +1661 -0
  111. package/dist/OAuth.js.map +1 -0
  112. package/dist/Passkey.d.ts +334 -0
  113. package/dist/Passkey.d.ts.map +1 -0
  114. package/dist/Passkey.js +422 -0
  115. package/dist/Passkey.js.map +1 -0
  116. package/dist/PasskeySimpleWebAuthn.d.ts +11 -0
  117. package/dist/PasskeySimpleWebAuthn.d.ts.map +1 -0
  118. package/dist/PasskeySimpleWebAuthn.js +181 -0
  119. package/dist/PasskeySimpleWebAuthn.js.map +1 -0
  120. package/dist/Password.d.ts +237 -0
  121. package/dist/Password.d.ts.map +1 -0
  122. package/dist/Password.js +641 -0
  123. package/dist/Password.js.map +1 -0
  124. package/dist/Policy.d.ts +7 -4
  125. package/dist/Policy.d.ts.map +1 -1
  126. package/dist/Policy.js +28 -5
  127. package/dist/Policy.js.map +1 -1
  128. package/dist/Privacy.d.ts +15 -0
  129. package/dist/Privacy.d.ts.map +1 -1
  130. package/dist/Privacy.js +58 -1
  131. package/dist/Privacy.js.map +1 -1
  132. package/dist/RateLimiter.d.ts +104 -0
  133. package/dist/RateLimiter.d.ts.map +1 -0
  134. package/dist/RateLimiter.js +118 -0
  135. package/dist/RateLimiter.js.map +1 -0
  136. package/dist/RecoveryCode.d.ts +169 -0
  137. package/dist/RecoveryCode.d.ts.map +1 -0
  138. package/dist/RecoveryCode.js +299 -0
  139. package/dist/RecoveryCode.js.map +1 -0
  140. package/dist/RefreshToken.d.ts +222 -0
  141. package/dist/RefreshToken.d.ts.map +1 -0
  142. package/dist/RefreshToken.js +342 -0
  143. package/dist/RefreshToken.js.map +1 -0
  144. package/dist/SecurityTimeline.d.ts +72 -0
  145. package/dist/SecurityTimeline.d.ts.map +1 -0
  146. package/dist/SecurityTimeline.js +386 -0
  147. package/dist/SecurityTimeline.js.map +1 -0
  148. package/dist/Sessions.d.ts +123 -11
  149. package/dist/Sessions.d.ts.map +1 -1
  150. package/dist/Sessions.js +534 -1
  151. package/dist/Sessions.js.map +1 -1
  152. package/dist/StepUp.d.ts +44 -0
  153. package/dist/StepUp.d.ts.map +1 -0
  154. package/dist/StepUp.js +82 -0
  155. package/dist/StepUp.js.map +1 -0
  156. package/dist/Storage.d.ts +73 -5
  157. package/dist/Storage.d.ts.map +1 -1
  158. package/dist/Storage.js +11 -1
  159. package/dist/Storage.js.map +1 -1
  160. package/dist/StorageMigrations.d.ts +13 -1
  161. package/dist/StorageMigrations.d.ts.map +1 -1
  162. package/dist/StorageMigrations.js +256 -2
  163. package/dist/StorageMigrations.js.map +1 -1
  164. package/dist/Testing.d.ts +9 -1
  165. package/dist/Testing.d.ts.map +1 -1
  166. package/dist/Testing.js +30 -2
  167. package/dist/Testing.js.map +1 -1
  168. package/dist/Totp.d.ts +220 -0
  169. package/dist/Totp.d.ts.map +1 -0
  170. package/dist/Totp.js +477 -0
  171. package/dist/Totp.js.map +1 -0
  172. package/dist/TrustedDevice.d.ts +127 -0
  173. package/dist/TrustedDevice.d.ts.map +1 -0
  174. package/dist/TrustedDevice.js +252 -0
  175. package/dist/TrustedDevice.js.map +1 -0
  176. package/dist/WaitUntil.d.ts.map +1 -1
  177. package/dist/WaitUntil.js +1 -1
  178. package/dist/WaitUntil.js.map +1 -1
  179. package/dist/Webhook.d.ts +72 -0
  180. package/dist/Webhook.d.ts.map +1 -0
  181. package/dist/Webhook.js +82 -0
  182. package/dist/Webhook.js.map +1 -0
  183. package/dist/alchemy/cloudflare/Email.d.ts +25 -0
  184. package/dist/alchemy/cloudflare/Email.d.ts.map +1 -0
  185. package/dist/alchemy/cloudflare/Email.js +117 -0
  186. package/dist/alchemy/cloudflare/Email.js.map +1 -0
  187. package/dist/alchemy/cloudflare/RateLimitDurableObject.d.ts +34 -0
  188. package/dist/alchemy/cloudflare/RateLimitDurableObject.d.ts.map +1 -0
  189. package/dist/alchemy/cloudflare/RateLimitDurableObject.js +30 -0
  190. package/dist/alchemy/cloudflare/RateLimitDurableObject.js.map +1 -0
  191. package/dist/cloudflare/Email.d.ts +25 -0
  192. package/dist/cloudflare/Email.d.ts.map +1 -0
  193. package/dist/cloudflare/Email.js +153 -0
  194. package/dist/cloudflare/Email.js.map +1 -0
  195. package/dist/cloudflare/RateLimitDurableObject.d.ts +50 -0
  196. package/dist/cloudflare/RateLimitDurableObject.d.ts.map +1 -0
  197. package/dist/cloudflare/RateLimitDurableObject.js +51 -0
  198. package/dist/cloudflare/RateLimitDurableObject.js.map +1 -0
  199. package/dist/index.d.ts +21 -0
  200. package/dist/index.d.ts.map +1 -1
  201. package/dist/index.js +21 -0
  202. package/dist/index.js.map +1 -1
  203. package/dist/internal/RateLimitDurableObject.d.ts +32 -0
  204. package/dist/internal/RateLimitDurableObject.d.ts.map +1 -0
  205. package/dist/internal/RateLimitDurableObject.js +80 -0
  206. package/dist/internal/RateLimitDurableObject.js.map +1 -0
  207. package/migrations/0002_auth_password.sql +25 -0
  208. package/migrations/0003_auth_login_approval_review.sql +22 -0
  209. package/migrations/0004_auth_trusted_device.sql +12 -0
  210. package/migrations/0005_auth_passkey.sql +17 -0
  211. package/migrations/0006_auth_totp_factor.sql +17 -0
  212. package/migrations/0007_auth_recovery_code.sql +13 -0
  213. package/migrations/0008_auth_api_key.sql +17 -0
  214. package/migrations/0009_auth_refresh_token.sql +21 -0
  215. package/migrations/0010_auth_jwt_revocation.sql +8 -0
  216. package/migrations/0011_auth_oauth_account.sql +16 -0
  217. package/migrations/0012_auth_oauth_provider_token_vault.sql +20 -0
  218. package/migrations/0013_auth_security_timeline.sql +16 -0
  219. package/package.json +146 -26
  220. package/dist/D1Kysely.d.ts +0 -40
  221. package/dist/D1Kysely.d.ts.map +0 -1
  222. package/dist/D1Kysely.js +0 -75
  223. package/dist/D1Kysely.js.map +0 -1
  224. package/dist/KyselyStorage.d.ts +0 -41
  225. package/dist/KyselyStorage.d.ts.map +0 -1
  226. package/dist/KyselyStorage.js +0 -176
  227. package/dist/KyselyStorage.js.map +0 -1
package/dist/Totp.d.ts ADDED
@@ -0,0 +1,220 @@
1
+ import { Brand, Context, Effect, Layer, Redacted } from "effect";
2
+ import type * as OptionTypes from "effect/Option";
3
+ import { Crypto } from "./Crypto.js";
4
+ import type { CryptoService } from "./Crypto.js";
5
+ import { CredentialId } from "./Identifiers.js";
6
+ import type { UnixMillis, UserId } from "./Identifiers.js";
7
+ export type TotpSecret = Brand.Branded<string, "auth/TotpSecret">;
8
+ export declare const TotpSecret: Brand.Constructor<TotpSecret>;
9
+ export type TotpAlgorithm = "SHA1" | "SHA256" | "SHA512";
10
+ export declare const defaultTotpAlgorithm = "SHA1";
11
+ export declare const defaultTotpDigits = 6;
12
+ export declare const defaultTotpPeriod = 30;
13
+ export declare const defaultTotpSecretBytes = 20;
14
+ export declare const defaultTotpWindow = 1;
15
+ export type TotpOperation = "generate-secret" | "normalize-secret" | "otpauth-uri" | "generate-code" | "verify";
16
+ declare const TotpError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
17
+ readonly _tag: "TotpError";
18
+ } & Readonly<A>;
19
+ export declare class TotpError extends TotpError_base<{
20
+ readonly operation: TotpOperation;
21
+ readonly message: string;
22
+ readonly cause?: unknown;
23
+ }> {
24
+ }
25
+ export interface TotpGenerateSecretInput {
26
+ readonly bytes?: number;
27
+ }
28
+ export interface TotpOtpauthUriInput {
29
+ readonly secret: Redacted.Redacted<TotpSecret>;
30
+ readonly issuer: string;
31
+ readonly accountName: string;
32
+ readonly algorithm?: TotpAlgorithm;
33
+ readonly digits?: number;
34
+ readonly period?: number;
35
+ }
36
+ export interface TotpGenerateCodeInput {
37
+ readonly secret: Redacted.Redacted<TotpSecret>;
38
+ readonly now?: UnixMillis;
39
+ readonly algorithm?: TotpAlgorithm;
40
+ readonly digits?: number;
41
+ readonly period?: number;
42
+ }
43
+ export interface TotpVerifyInput extends TotpGenerateCodeInput {
44
+ readonly code: Redacted.Redacted<string>;
45
+ readonly window?: number;
46
+ }
47
+ export interface TotpVerifyResult {
48
+ readonly valid: boolean;
49
+ readonly delta?: number;
50
+ }
51
+ export interface TotpService {
52
+ readonly generateSecret: (input?: TotpGenerateSecretInput) => Effect.Effect<Redacted.Redacted<TotpSecret>, TotpError>;
53
+ readonly normalizeSecret: (secret: Redacted.Redacted<string>) => Effect.Effect<Redacted.Redacted<TotpSecret>, TotpError>;
54
+ readonly otpauthUri: (input: TotpOtpauthUriInput) => Effect.Effect<Redacted.Redacted<string>, TotpError>;
55
+ readonly generateCode: (input: TotpGenerateCodeInput) => Effect.Effect<Redacted.Redacted<string>, TotpError>;
56
+ readonly verify: (input: TotpVerifyInput) => Effect.Effect<TotpVerifyResult, TotpError>;
57
+ }
58
+ declare const Totp_base: Context.ServiceClass<Totp, "auth/Totp", TotpService>;
59
+ export declare class Totp extends Totp_base {
60
+ }
61
+ export declare namespace Totp {
62
+ const make: (service: TotpService) => TotpService;
63
+ }
64
+ export interface TotpDependencies {
65
+ readonly crypto: CryptoService;
66
+ readonly webCrypto?: typeof globalThis.crypto;
67
+ }
68
+ export declare const makeTotp: (dependencies: TotpDependencies) => TotpService;
69
+ export declare const TotpLive: Layer.Layer<Totp, never, Crypto>;
70
+ export interface TotpFactorRecord {
71
+ readonly id: CredentialId;
72
+ readonly userId: UserId;
73
+ readonly secret: Redacted.Redacted<TotpSecret>;
74
+ readonly algorithm: TotpAlgorithm;
75
+ readonly digits: number;
76
+ readonly period: number;
77
+ readonly createdAt: UnixMillis;
78
+ readonly confirmedAt?: UnixMillis;
79
+ readonly lastUsedAt?: UnixMillis;
80
+ readonly revokedAt?: UnixMillis;
81
+ readonly metadata?: Readonly<Record<string, unknown>>;
82
+ }
83
+ export interface TotpFactorListByUserInput {
84
+ readonly userId: UserId;
85
+ readonly includeRevoked?: boolean;
86
+ readonly includeUnconfirmed?: boolean;
87
+ }
88
+ export interface TotpFactorConfirmInput {
89
+ readonly id: CredentialId;
90
+ readonly confirmedAt: UnixMillis;
91
+ readonly metadata?: Readonly<Record<string, unknown>>;
92
+ }
93
+ export interface TotpFactorMarkUsedInput {
94
+ readonly id: CredentialId;
95
+ readonly lastUsedAt: UnixMillis;
96
+ readonly metadata?: Readonly<Record<string, unknown>>;
97
+ }
98
+ export interface TotpFactorRevokeInput {
99
+ readonly id: CredentialId;
100
+ readonly revokedAt: UnixMillis;
101
+ readonly reason?: string;
102
+ }
103
+ export type TotpFactorStoreOperation = "insert" | "find" | "list" | "confirm" | "mark-used" | "revoke";
104
+ declare const TotpFactorStoreError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
105
+ readonly _tag: "TotpFactorStoreError";
106
+ } & Readonly<A>;
107
+ export declare class TotpFactorStoreError extends TotpFactorStoreError_base<{
108
+ readonly operation: TotpFactorStoreOperation;
109
+ readonly message: string;
110
+ readonly cause?: unknown;
111
+ }> {
112
+ }
113
+ export interface TotpFactorStoreService {
114
+ readonly insert: (row: TotpFactorRecord) => Effect.Effect<void, TotpFactorStoreError>;
115
+ readonly findById: (id: CredentialId) => Effect.Effect<OptionTypes.Option<TotpFactorRecord>, TotpFactorStoreError>;
116
+ readonly listByUser: (input: TotpFactorListByUserInput) => Effect.Effect<readonly TotpFactorRecord[], TotpFactorStoreError>;
117
+ readonly confirm: (input: TotpFactorConfirmInput) => Effect.Effect<OptionTypes.Option<TotpFactorRecord>, TotpFactorStoreError>;
118
+ readonly markUsed: (input: TotpFactorMarkUsedInput) => Effect.Effect<OptionTypes.Option<TotpFactorRecord>, TotpFactorStoreError>;
119
+ readonly revoke: (input: TotpFactorRevokeInput) => Effect.Effect<void, TotpFactorStoreError>;
120
+ }
121
+ declare const TotpFactorStore_base: Context.ServiceClass<TotpFactorStore, "auth/TotpFactorStore", TotpFactorStoreService>;
122
+ export declare class TotpFactorStore extends TotpFactorStore_base {
123
+ }
124
+ export declare namespace TotpFactorStore {
125
+ const make: (service: TotpFactorStoreService) => TotpFactorStoreService;
126
+ }
127
+ export declare const makeTotpFactorStoreMemory: () => TotpFactorStoreService;
128
+ export declare const TotpFactorStoreMemoryLive: Layer.Layer<TotpFactorStore, never, never>;
129
+ export interface TotpFactorInfo {
130
+ readonly id: CredentialId;
131
+ readonly algorithm: TotpAlgorithm;
132
+ readonly digits: number;
133
+ readonly period: number;
134
+ readonly createdAt: UnixMillis;
135
+ readonly confirmedAt?: UnixMillis;
136
+ readonly lastUsedAt?: UnixMillis;
137
+ readonly revokedAt?: UnixMillis;
138
+ readonly metadata?: Readonly<Record<string, unknown>>;
139
+ }
140
+ export interface TotpEnrollmentStartInput {
141
+ readonly userId: UserId;
142
+ readonly issuer: string;
143
+ readonly accountName: string;
144
+ readonly factorId?: CredentialId;
145
+ readonly now?: UnixMillis;
146
+ readonly secretBytes?: number;
147
+ readonly algorithm?: TotpAlgorithm;
148
+ readonly digits?: number;
149
+ readonly period?: number;
150
+ readonly metadata?: Readonly<Record<string, unknown>>;
151
+ }
152
+ export interface StartedTotpEnrollment {
153
+ readonly factor: TotpFactorInfo;
154
+ readonly secret: Redacted.Redacted<TotpSecret>;
155
+ readonly uri: Redacted.Redacted<string>;
156
+ }
157
+ export interface TotpEnrollmentConfirmInput {
158
+ readonly userId: UserId;
159
+ readonly factorId: CredentialId;
160
+ readonly code: Redacted.Redacted<string>;
161
+ readonly now?: UnixMillis;
162
+ readonly window?: number;
163
+ readonly metadata?: Readonly<Record<string, unknown>>;
164
+ }
165
+ export interface TotpVerifyForUserInput {
166
+ readonly userId: UserId;
167
+ readonly code: Redacted.Redacted<string>;
168
+ readonly now?: UnixMillis;
169
+ readonly window?: number;
170
+ readonly metadata?: Readonly<Record<string, unknown>>;
171
+ }
172
+ export interface TotpVerifyForUserResult {
173
+ readonly valid: boolean;
174
+ readonly factor?: TotpFactorInfo;
175
+ readonly delta?: number;
176
+ }
177
+ export interface TotpFactorManagementListInput {
178
+ readonly userId: UserId;
179
+ readonly includeRevoked?: boolean;
180
+ readonly includeUnconfirmed?: boolean;
181
+ }
182
+ export interface TotpFactorManagementRevokeInput {
183
+ readonly userId: UserId;
184
+ readonly factorId: CredentialId;
185
+ readonly revokedAt?: UnixMillis;
186
+ readonly reason?: string;
187
+ }
188
+ export type TotpFactorManagementOperation = "start-enrollment" | "confirm-enrollment" | "verify" | "list" | "revoke";
189
+ declare const TotpFactorManagementError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
190
+ readonly _tag: "TotpFactorManagementError";
191
+ } & Readonly<A>;
192
+ export declare class TotpFactorManagementError extends TotpFactorManagementError_base<{
193
+ readonly operation: TotpFactorManagementOperation;
194
+ readonly message: string;
195
+ readonly cause?: unknown;
196
+ }> {
197
+ }
198
+ export interface TotpFactorManagementService {
199
+ readonly startEnrollment: (input: TotpEnrollmentStartInput) => Effect.Effect<StartedTotpEnrollment, TotpFactorManagementError>;
200
+ readonly confirmEnrollment: (input: TotpEnrollmentConfirmInput) => Effect.Effect<TotpFactorInfo, TotpFactorManagementError>;
201
+ readonly verifyForUser: (input: TotpVerifyForUserInput) => Effect.Effect<TotpVerifyForUserResult, TotpFactorManagementError>;
202
+ readonly listForUser: (input: TotpFactorManagementListInput) => Effect.Effect<readonly TotpFactorInfo[], TotpFactorManagementError>;
203
+ readonly revokeForUser: (input: TotpFactorManagementRevokeInput) => Effect.Effect<void, TotpFactorManagementError>;
204
+ }
205
+ declare const TotpFactorManagement_base: Context.ServiceClass<TotpFactorManagement, "auth/TotpFactorManagement", TotpFactorManagementService>;
206
+ export declare class TotpFactorManagement extends TotpFactorManagement_base {
207
+ }
208
+ export declare namespace TotpFactorManagement {
209
+ const make: (service: TotpFactorManagementService) => TotpFactorManagementService;
210
+ }
211
+ export interface TotpFactorManagementDependencies {
212
+ readonly totp: TotpService;
213
+ readonly crypto: CryptoService;
214
+ readonly factorStore: TotpFactorStoreService;
215
+ readonly factorIdBytes?: number;
216
+ }
217
+ export declare const makeTotpFactorManagement: (dependencies: TotpFactorManagementDependencies) => TotpFactorManagementService;
218
+ export declare const TotpFactorManagementLive: Layer.Layer<TotpFactorManagement, never, Crypto | Totp | TotpFactorStore>;
219
+ export {};
220
+ //# sourceMappingURL=Totp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Totp.d.ts","sourceRoot":"","sources":["../src/Totp.ts"],"names":[],"mappings":"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"}