@openmeter/sdk 1.0.0-alpha.3 → 1.0.0-beta-7b2d9ed372e3

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 (261) hide show
  1. package/README.md +45 -62
  2. package/dist/cjs/index.cjs +18 -0
  3. package/dist/cjs/index.d.cts +1 -0
  4. package/dist/cjs/index.js.map +1 -0
  5. package/dist/cjs/src/apps.cjs +176 -0
  6. package/dist/cjs/src/apps.d.cts +338 -0
  7. package/dist/cjs/src/apps.js.map +1 -0
  8. package/dist/cjs/src/billing.cjs +309 -0
  9. package/dist/cjs/src/billing.d.cts +645 -0
  10. package/dist/cjs/src/billing.js.map +1 -0
  11. package/dist/cjs/src/client/apps.cjs +174 -0
  12. package/dist/cjs/src/client/apps.d.cts +339 -0
  13. package/dist/cjs/src/client/apps.js.map +1 -0
  14. package/dist/cjs/src/client/billing.cjs +309 -0
  15. package/dist/cjs/src/client/billing.d.cts +646 -0
  16. package/dist/cjs/src/client/billing.js.map +1 -0
  17. package/dist/cjs/src/client/customers.cjs +185 -0
  18. package/dist/cjs/src/client/customers.d.cts +232 -0
  19. package/dist/cjs/src/client/customers.js.map +1 -0
  20. package/dist/cjs/src/client/entitlements.cjs +244 -0
  21. package/dist/cjs/src/client/entitlements.d.cts +506 -0
  22. package/dist/cjs/src/client/entitlements.js.map +1 -0
  23. package/dist/cjs/src/client/events.cjs +65 -0
  24. package/dist/cjs/src/client/events.d.cts +102 -0
  25. package/dist/cjs/src/client/events.js.map +1 -0
  26. package/dist/cjs/src/client/features.cjs +78 -0
  27. package/dist/cjs/src/client/features.d.cts +154 -0
  28. package/dist/cjs/src/client/features.js.map +1 -0
  29. package/dist/cjs/src/client/index.cjs +100 -0
  30. package/dist/cjs/src/client/index.d.cts +42 -0
  31. package/dist/cjs/src/client/index.js.map +1 -0
  32. package/dist/cjs/src/client/meters.cjs +93 -0
  33. package/dist/cjs/src/client/meters.d.cts +185 -0
  34. package/dist/cjs/src/client/meters.js.map +1 -0
  35. package/dist/cjs/src/client/notifications.cjs +249 -0
  36. package/dist/cjs/src/client/notifications.d.cts +315 -0
  37. package/dist/cjs/src/client/notifications.js.map +1 -0
  38. package/dist/cjs/src/client/plans.cjs +127 -0
  39. package/dist/cjs/src/client/plans.d.cts +193 -0
  40. package/dist/cjs/src/client/plans.js.map +1 -0
  41. package/dist/cjs/src/client/portal.cjs +55 -0
  42. package/dist/cjs/src/client/portal.d.cts +72 -0
  43. package/dist/cjs/src/client/portal.js.map +1 -0
  44. package/dist/cjs/src/client/subjects.cjs +76 -0
  45. package/dist/cjs/src/client/subjects.d.cts +102 -0
  46. package/dist/cjs/src/client/subjects.js.map +1 -0
  47. package/dist/cjs/src/client/subscriptions.cjs +116 -0
  48. package/dist/cjs/src/client/subscriptions.d.cts +198 -0
  49. package/dist/cjs/src/client/subscriptions.js.map +1 -0
  50. package/dist/cjs/src/client/utils.cjs +93 -0
  51. package/dist/cjs/src/client/utils.d.cts +30 -0
  52. package/dist/cjs/src/client/utils.js.map +1 -0
  53. package/dist/cjs/src/customers.cjs +185 -0
  54. package/dist/cjs/src/customers.d.cts +231 -0
  55. package/dist/cjs/src/customers.js.map +1 -0
  56. package/dist/cjs/src/entitlements.cjs +244 -0
  57. package/dist/cjs/src/entitlements.d.cts +505 -0
  58. package/dist/cjs/src/entitlements.js.map +1 -0
  59. package/dist/cjs/src/events.cjs +65 -0
  60. package/dist/cjs/src/events.d.cts +101 -0
  61. package/dist/cjs/src/events.js.map +1 -0
  62. package/dist/cjs/src/features.cjs +78 -0
  63. package/dist/cjs/src/features.d.cts +153 -0
  64. package/dist/cjs/src/features.js.map +1 -0
  65. package/dist/cjs/src/meters.cjs +93 -0
  66. package/dist/cjs/src/meters.d.cts +184 -0
  67. package/dist/cjs/src/meters.js.map +1 -0
  68. package/dist/cjs/src/notifications.cjs +249 -0
  69. package/dist/cjs/src/notifications.d.cts +314 -0
  70. package/dist/cjs/src/notifications.js.map +1 -0
  71. package/dist/cjs/src/plans.cjs +127 -0
  72. package/dist/cjs/src/plans.d.cts +192 -0
  73. package/dist/cjs/src/plans.js.map +1 -0
  74. package/dist/cjs/src/portal/index.cjs +57 -0
  75. package/dist/cjs/src/portal/index.d.cts +113 -0
  76. package/dist/cjs/src/portal/index.js.map +1 -0
  77. package/dist/cjs/src/react/context.cjs +35 -0
  78. package/dist/cjs/src/react/context.d.cts +9 -0
  79. package/dist/cjs/src/react/context.js.map +1 -0
  80. package/dist/cjs/src/subjects.cjs +76 -0
  81. package/dist/cjs/src/subjects.d.cts +101 -0
  82. package/dist/cjs/src/subjects.js.map +1 -0
  83. package/dist/cjs/src/subscriptions.cjs +116 -0
  84. package/dist/cjs/src/subscriptions.d.cts +197 -0
  85. package/dist/cjs/src/subscriptions.js.map +1 -0
  86. package/dist/cjs/src/utils.cjs +93 -0
  87. package/dist/cjs/src/utils.d.cts +29 -0
  88. package/dist/cjs/src/utils.js.map +1 -0
  89. package/dist/cjs/tsconfig.01ab6c6b.tsbuildinfo +1 -0
  90. package/dist/cjs/tsconfig.1e12acbb.tsbuildinfo +1 -0
  91. package/dist/cjs/tsconfig.38849cd1.tsbuildinfo +1 -0
  92. package/dist/cjs/tsconfig.3bd7bdb7.tsbuildinfo +1 -0
  93. package/dist/cjs/tsconfig.3db00db7.tsbuildinfo +1 -0
  94. package/dist/cjs/tsconfig.5cd8af0a.tsbuildinfo +1 -0
  95. package/dist/cjs/tsconfig.64c40770.tsbuildinfo +1 -0
  96. package/dist/cjs/tsconfig.769a7751.tsbuildinfo +1 -0
  97. package/dist/cjs/tsconfig.8fd1c6cd.tsbuildinfo +1 -0
  98. package/dist/cjs/tsconfig.c9e83bdd.tsbuildinfo +1 -0
  99. package/dist/cjs/tsconfig.d3cb3b9e.tsbuildinfo +1 -0
  100. package/dist/cjs/tsconfig.db7aa141.tsbuildinfo +1 -0
  101. package/dist/cjs/tsconfig.edd7b7ed.tsbuildinfo +1 -0
  102. package/dist/cjs/tsconfig.f343a141.tsbuildinfo +1 -0
  103. package/dist/cjs/tsconfig.f36f8639.tsbuildinfo +1 -0
  104. package/dist/cjs/tsconfig.fc8d5fa4.tsbuildinfo +1 -0
  105. package/dist/index.d.ts +1 -23
  106. package/dist/index.js +2 -28
  107. package/dist/index.js.map +1 -0
  108. package/dist/src/apps.d.ts +338 -0
  109. package/dist/src/apps.js +170 -0
  110. package/dist/src/apps.js.map +1 -0
  111. package/dist/src/billing.d.ts +645 -0
  112. package/dist/src/billing.js +302 -0
  113. package/dist/src/billing.js.map +1 -0
  114. package/dist/src/client/apps.d.ts +339 -0
  115. package/dist/src/client/apps.js +168 -0
  116. package/dist/src/client/apps.js.map +1 -0
  117. package/dist/src/client/billing.d.ts +646 -0
  118. package/dist/src/client/billing.js +302 -0
  119. package/dist/src/client/billing.js.map +1 -0
  120. package/dist/src/client/customers.d.ts +232 -0
  121. package/dist/src/client/customers.js +179 -0
  122. package/dist/src/client/customers.js.map +1 -0
  123. package/dist/src/client/entitlements.d.ts +506 -0
  124. package/dist/src/client/entitlements.js +239 -0
  125. package/dist/src/client/entitlements.js.map +1 -0
  126. package/dist/src/client/events.d.ts +102 -0
  127. package/dist/src/client/events.js +58 -0
  128. package/dist/src/client/events.js.map +1 -0
  129. package/dist/src/client/features.d.ts +154 -0
  130. package/dist/src/client/features.js +74 -0
  131. package/dist/src/client/features.js.map +1 -0
  132. package/dist/src/client/index.d.ts +42 -0
  133. package/dist/src/client/index.js +63 -0
  134. package/dist/src/client/index.js.map +1 -0
  135. package/dist/src/client/meters.d.ts +185 -0
  136. package/dist/src/client/meters.js +89 -0
  137. package/dist/src/client/meters.js.map +1 -0
  138. package/dist/src/client/notifications.d.ts +315 -0
  139. package/dist/src/client/notifications.js +242 -0
  140. package/dist/src/client/notifications.js.map +1 -0
  141. package/dist/src/client/plans.d.ts +193 -0
  142. package/dist/src/client/plans.js +123 -0
  143. package/dist/src/client/plans.js.map +1 -0
  144. package/dist/src/client/portal.d.ts +72 -0
  145. package/dist/src/client/portal.js +51 -0
  146. package/dist/src/client/portal.js.map +1 -0
  147. package/dist/src/client/subjects.d.ts +102 -0
  148. package/dist/src/client/subjects.js +72 -0
  149. package/dist/src/client/subjects.js.map +1 -0
  150. package/dist/src/client/subscriptions.d.ts +198 -0
  151. package/dist/src/client/subscriptions.js +112 -0
  152. package/dist/src/client/subscriptions.js.map +1 -0
  153. package/dist/src/client/utils.d.ts +30 -0
  154. package/dist/src/client/utils.js +85 -0
  155. package/dist/src/client/utils.js.map +1 -0
  156. package/dist/src/customers.d.ts +231 -0
  157. package/dist/src/customers.js +179 -0
  158. package/dist/src/customers.js.map +1 -0
  159. package/dist/src/entitlements.d.ts +505 -0
  160. package/dist/src/entitlements.js +239 -0
  161. package/dist/src/entitlements.js.map +1 -0
  162. package/dist/src/events.d.ts +101 -0
  163. package/dist/src/events.js +58 -0
  164. package/dist/src/events.js.map +1 -0
  165. package/dist/src/features.d.ts +153 -0
  166. package/dist/src/features.js +74 -0
  167. package/dist/src/features.js.map +1 -0
  168. package/dist/src/meters.d.ts +184 -0
  169. package/dist/src/meters.js +89 -0
  170. package/dist/src/meters.js.map +1 -0
  171. package/dist/src/notifications.d.ts +314 -0
  172. package/dist/src/notifications.js +242 -0
  173. package/dist/src/notifications.js.map +1 -0
  174. package/dist/src/plans.d.ts +192 -0
  175. package/dist/src/plans.js +123 -0
  176. package/dist/src/plans.js.map +1 -0
  177. package/dist/src/portal/index.d.ts +113 -0
  178. package/dist/src/portal/index.js +50 -0
  179. package/dist/src/portal/index.js.map +1 -0
  180. package/dist/src/react/context.d.ts +9 -0
  181. package/dist/src/react/context.js +16 -0
  182. package/dist/src/react/context.js.map +1 -0
  183. package/dist/src/subjects.d.ts +101 -0
  184. package/dist/src/subjects.js +72 -0
  185. package/dist/src/subjects.js.map +1 -0
  186. package/dist/src/subscriptions.d.ts +197 -0
  187. package/dist/src/subscriptions.js +112 -0
  188. package/dist/src/subscriptions.js.map +1 -0
  189. package/dist/src/utils.d.ts +29 -0
  190. package/dist/src/utils.js +85 -0
  191. package/dist/src/utils.js.map +1 -0
  192. package/dist/tsconfig.tsbuildinfo +1 -1
  193. package/package.json +95 -57
  194. package/patches/openapi-typescript.patch +73 -0
  195. package/dist/generated/HttpService.d.ts +0 -14
  196. package/dist/generated/HttpService.js +0 -27
  197. package/dist/generated/core/ApiError.d.ts +0 -10
  198. package/dist/generated/core/ApiError.js +0 -17
  199. package/dist/generated/core/ApiRequestOptions.d.ts +0 -13
  200. package/dist/generated/core/ApiRequestOptions.js +0 -2
  201. package/dist/generated/core/ApiResult.d.ts +0 -7
  202. package/dist/generated/core/ApiResult.js +0 -2
  203. package/dist/generated/core/BaseHttpRequest.d.ts +0 -8
  204. package/dist/generated/core/BaseHttpRequest.js +0 -7
  205. package/dist/generated/core/CancelablePromise.d.ts +0 -20
  206. package/dist/generated/core/CancelablePromise.js +0 -93
  207. package/dist/generated/core/NodeHttpRequest.d.ts +0 -14
  208. package/dist/generated/core/NodeHttpRequest.js +0 -17
  209. package/dist/generated/core/OpenAPI.d.ts +0 -16
  210. package/dist/generated/core/OpenAPI.js +0 -12
  211. package/dist/generated/core/request.d.ts +0 -34
  212. package/dist/generated/core/request.js +0 -268
  213. package/dist/generated/index.d.ts +0 -29
  214. package/dist/generated/index.js +0 -22
  215. package/dist/generated/models/Event.d.ts +0 -49
  216. package/dist/generated/models/Event.js +0 -11
  217. package/dist/generated/models/IdOrSlug.d.ts +0 -1
  218. package/dist/generated/models/IdOrSlug.js +0 -2
  219. package/dist/generated/models/Meter.d.ts +0 -30
  220. package/dist/generated/models/Meter.js +0 -2
  221. package/dist/generated/models/MeterAggregation.d.ts +0 -10
  222. package/dist/generated/models/MeterAggregation.js +0 -12
  223. package/dist/generated/models/MeterValue.d.ts +0 -10
  224. package/dist/generated/models/MeterValue.js +0 -2
  225. package/dist/generated/models/Namespace.d.ts +0 -6
  226. package/dist/generated/models/Namespace.js +0 -2
  227. package/dist/generated/models/Problem.d.ts +0 -4
  228. package/dist/generated/models/Problem.js +0 -2
  229. package/dist/generated/models/WindowSize.d.ts +0 -5
  230. package/dist/generated/models/WindowSize.js +0 -7
  231. package/dist/generated/models/meterIdOrSlug.d.ts +0 -5
  232. package/dist/generated/models/meterIdOrSlug.js +0 -2
  233. package/dist/generated/models/namespaceParam.d.ts +0 -4
  234. package/dist/generated/models/namespaceParam.js +0 -2
  235. package/dist/generated/schemas/$Event.d.ts +0 -59
  236. package/dist/generated/schemas/$Event.js +0 -60
  237. package/dist/generated/schemas/$IdOrSlug.d.ts +0 -13
  238. package/dist/generated/schemas/$IdOrSlug.js +0 -14
  239. package/dist/generated/schemas/$Meter.d.ts +0 -44
  240. package/dist/generated/schemas/$Meter.js +0 -45
  241. package/dist/generated/schemas/$MeterAggregation.d.ts +0 -3
  242. package/dist/generated/schemas/$MeterAggregation.js +0 -4
  243. package/dist/generated/schemas/$MeterValue.d.ts +0 -26
  244. package/dist/generated/schemas/$MeterValue.js +0 -27
  245. package/dist/generated/schemas/$Namespace.d.ts +0 -9
  246. package/dist/generated/schemas/$Namespace.js +0 -10
  247. package/dist/generated/schemas/$Problem.d.ts +0 -6
  248. package/dist/generated/schemas/$Problem.js +0 -7
  249. package/dist/generated/schemas/$WindowSize.d.ts +0 -3
  250. package/dist/generated/schemas/$WindowSize.js +0 -4
  251. package/dist/generated/schemas/$meterIdOrSlug.d.ts +0 -4
  252. package/dist/generated/schemas/$meterIdOrSlug.js +0 -5
  253. package/dist/generated/schemas/$namespaceParam.d.ts +0 -5
  254. package/dist/generated/schemas/$namespaceParam.js +0 -6
  255. package/dist/generated/services/DefaultService.d.ts +0 -16
  256. package/dist/generated/services/DefaultService.js +0 -22
  257. package/dist/generated/services/EventsService.d.ts +0 -17
  258. package/dist/generated/services/EventsService.js +0 -29
  259. package/dist/generated/services/MetersService.d.ts +0 -75
  260. package/dist/generated/services/MetersService.js +0 -140
  261. package/index.ts +0 -53
@@ -0,0 +1,505 @@
1
+ import type { EntitlementCreateInputs, EntitlementGrantCreateInput, operations, paths, ResetEntitlementUsageInput } from './schemas.js';
2
+ import type { Client } from 'openapi-fetch';
3
+ /**
4
+ * Entitlements
5
+ * @description With Entitlements, you can define and enforce usage limits, implement quota-based pricing, and manage access to features in your application.
6
+ */
7
+ export declare class Entitlements {
8
+ private client;
9
+ grants: Grants;
10
+ constructor(client: Client<paths, `${string}/${string}`>);
11
+ /**
12
+ * Create an entitlement
13
+ *
14
+ * - Boolean entitlements define static feature access, e.g. "Can use SSO authentication".
15
+ * - Static entitlements let you pass along a configuration while granting access, e.g. "Using this feature with X Y settings" (passed in the config).
16
+ * - Metered entitlements have many use cases, from setting up usage-based access to implementing complex credit systems. Example: The customer can use 10000 AI tokens during the usage period of the entitlement.
17
+ *
18
+ * A given subject can only have one active (non-deleted) entitlement per featureKey. If you try to create a new entitlement for a featureKey that already has an active entitlement, the request will fail with a 409 error.
19
+ *
20
+ * Once an entitlement is created you cannot modify it, only delete it.
21
+ *
22
+ * @param subjectIdOrKey - The ID or key of the subject
23
+ * @param entitlement - The entitlement to create
24
+ * @param signal - An optional abort signal
25
+ * @returns The created entitlement
26
+ */
27
+ create(subjectIdOrKey: operations['createEntitlement']['parameters']['path']['subjectIdOrKey'], entitlement: EntitlementCreateInputs, signal?: AbortSignal): Promise<{
28
+ data?: never;
29
+ error: import("./utils.js").Problem;
30
+ response: Response;
31
+ } | {
32
+ data: import("openapi-typescript-helpers").SuccessResponse<{
33
+ 201: {
34
+ headers: {
35
+ [name: string]: unknown;
36
+ };
37
+ content: {
38
+ "application/json": import("./schemas.js").components["schemas"]["Entitlement"];
39
+ };
40
+ };
41
+ 400: {
42
+ headers: {
43
+ [name: string]: unknown;
44
+ };
45
+ content: {
46
+ "application/problem+json": import("./schemas.js").components["schemas"]["BadRequestProblemResponse"];
47
+ };
48
+ };
49
+ 401: {
50
+ headers: {
51
+ [name: string]: unknown;
52
+ };
53
+ content: {
54
+ "application/problem+json": import("./schemas.js").components["schemas"]["UnauthorizedProblemResponse"];
55
+ };
56
+ };
57
+ 403: {
58
+ headers: {
59
+ [name: string]: unknown;
60
+ };
61
+ content: {
62
+ "application/problem+json": import("./schemas.js").components["schemas"]["ForbiddenProblemResponse"];
63
+ };
64
+ };
65
+ 409: {
66
+ headers: {
67
+ [name: string]: unknown;
68
+ };
69
+ content: {
70
+ "application/problem+json": import("./schemas.js").components["schemas"]["ConflictProblemResponse"];
71
+ };
72
+ };
73
+ 500: {
74
+ headers: {
75
+ [name: string]: unknown;
76
+ };
77
+ content: {
78
+ "application/problem+json": import("./schemas.js").components["schemas"]["InternalServerErrorProblemResponse"];
79
+ };
80
+ };
81
+ 503: {
82
+ headers: {
83
+ [name: string]: unknown;
84
+ };
85
+ content: {
86
+ "application/problem+json": import("./schemas.js").components["schemas"]["ServiceUnavailableProblemResponse"];
87
+ };
88
+ };
89
+ default: {
90
+ headers: {
91
+ [name: string]: unknown;
92
+ };
93
+ content: {
94
+ "application/problem+json": import("./schemas.js").components["schemas"]["UnexpectedProblemResponse"];
95
+ };
96
+ };
97
+ }, `${string}/${string}`>;
98
+ error?: never;
99
+ response: Response;
100
+ }>;
101
+ /**
102
+ * Get an entitlement by ID
103
+ *
104
+ * @param id - The ID of the entitlement
105
+ * @param signal - An optional abort signal
106
+ * @returns The entitlement
107
+ */
108
+ get(id: operations['getEntitlement']['parameters']['path']['entitlementId'], signal?: AbortSignal): Promise<{
109
+ data?: never;
110
+ error: import("./utils.js").Problem;
111
+ response: Response;
112
+ } | {
113
+ data: import("openapi-typescript-helpers").SuccessResponse<{
114
+ 200: {
115
+ headers: {
116
+ [name: string]: unknown;
117
+ };
118
+ content: {
119
+ "application/json": import("./schemas.js").components["schemas"]["Entitlement"];
120
+ };
121
+ };
122
+ 400: {
123
+ headers: {
124
+ [name: string]: unknown;
125
+ };
126
+ content: {
127
+ "application/problem+json": import("./schemas.js").components["schemas"]["BadRequestProblemResponse"];
128
+ };
129
+ };
130
+ 401: {
131
+ headers: {
132
+ [name: string]: unknown;
133
+ };
134
+ content: {
135
+ "application/problem+json": import("./schemas.js").components["schemas"]["UnauthorizedProblemResponse"];
136
+ };
137
+ };
138
+ 403: {
139
+ headers: {
140
+ [name: string]: unknown;
141
+ };
142
+ content: {
143
+ "application/problem+json": import("./schemas.js").components["schemas"]["ForbiddenProblemResponse"];
144
+ };
145
+ };
146
+ 404: {
147
+ headers: {
148
+ [name: string]: unknown;
149
+ };
150
+ content: {
151
+ "application/problem+json": import("./schemas.js").components["schemas"]["NotFoundProblemResponse"];
152
+ };
153
+ };
154
+ 500: {
155
+ headers: {
156
+ [name: string]: unknown;
157
+ };
158
+ content: {
159
+ "application/problem+json": import("./schemas.js").components["schemas"]["InternalServerErrorProblemResponse"];
160
+ };
161
+ };
162
+ 503: {
163
+ headers: {
164
+ [name: string]: unknown;
165
+ };
166
+ content: {
167
+ "application/problem+json": import("./schemas.js").components["schemas"]["ServiceUnavailableProblemResponse"];
168
+ };
169
+ };
170
+ default: {
171
+ headers: {
172
+ [name: string]: unknown;
173
+ };
174
+ content: {
175
+ "application/problem+json": import("./schemas.js").components["schemas"]["UnexpectedProblemResponse"];
176
+ };
177
+ };
178
+ }, `${string}/${string}`>;
179
+ error?: never;
180
+ response: Response;
181
+ }>;
182
+ /**
183
+ * List entitlements
184
+ *
185
+ * @param query - The query parameters
186
+ * @param signal - An optional abort signal
187
+ * @returns The entitlements
188
+ */
189
+ list(query?: operations['listEntitlements']['parameters']['query'], signal?: AbortSignal): Promise<{
190
+ data?: never;
191
+ error: import("./utils.js").Problem;
192
+ response: Response;
193
+ } | {
194
+ data: import("openapi-typescript-helpers").SuccessResponse<{
195
+ 200: {
196
+ headers: {
197
+ [name: string]: unknown;
198
+ };
199
+ content: {
200
+ "application/json": import("./schemas.js").components["schemas"]["ListEntitlementsResult"];
201
+ };
202
+ };
203
+ 400: {
204
+ headers: {
205
+ [name: string]: unknown;
206
+ };
207
+ content: {
208
+ "application/problem+json": import("./schemas.js").components["schemas"]["BadRequestProblemResponse"];
209
+ };
210
+ };
211
+ 401: {
212
+ headers: {
213
+ [name: string]: unknown;
214
+ };
215
+ content: {
216
+ "application/problem+json": import("./schemas.js").components["schemas"]["UnauthorizedProblemResponse"];
217
+ };
218
+ };
219
+ 403: {
220
+ headers: {
221
+ [name: string]: unknown;
222
+ };
223
+ content: {
224
+ "application/problem+json": import("./schemas.js").components["schemas"]["ForbiddenProblemResponse"];
225
+ };
226
+ };
227
+ 500: {
228
+ headers: {
229
+ [name: string]: unknown;
230
+ };
231
+ content: {
232
+ "application/problem+json": import("./schemas.js").components["schemas"]["InternalServerErrorProblemResponse"];
233
+ };
234
+ };
235
+ 503: {
236
+ headers: {
237
+ [name: string]: unknown;
238
+ };
239
+ content: {
240
+ "application/problem+json": import("./schemas.js").components["schemas"]["ServiceUnavailableProblemResponse"];
241
+ };
242
+ };
243
+ default: {
244
+ headers: {
245
+ [name: string]: unknown;
246
+ };
247
+ content: {
248
+ "application/problem+json": import("./schemas.js").components["schemas"]["UnexpectedProblemResponse"];
249
+ };
250
+ };
251
+ }, `${string}/${string}`>;
252
+ error?: never;
253
+ response: Response;
254
+ }>;
255
+ /**
256
+ * Delete an entitlement
257
+ *
258
+ * @param subjectIdOrKey - The ID or key of the subject
259
+ * @param entitlementId - The ID of the entitlement
260
+ * @param signal - An optional abort signal
261
+ * @returns The deleted entitlement
262
+ */
263
+ delete(subjectIdOrKey: operations['deleteEntitlement']['parameters']['path']['subjectIdOrKey'], entitlementId: operations['deleteEntitlement']['parameters']['path']['entitlementId'], signal?: AbortSignal): Promise<{
264
+ data?: never;
265
+ error: import("./utils.js").Problem;
266
+ response: Response;
267
+ } | {
268
+ data: undefined;
269
+ error?: never;
270
+ response: Response;
271
+ }>;
272
+ /**
273
+ * Get the value of an entitlement to check access
274
+ * All entitlement types share the hasAccess property in their value response, but multiple other properties are returned based on the entitlement type.
275
+ *
276
+ * @param subjectIdOrKey - The ID or key of the subject
277
+ * @param entitlementIdOrFeatureKey - The ID or feature key of the entitlement
278
+ * @param query - The query parameters
279
+ * @param signal - An optional abort signal
280
+ * @returns The entitlement value
281
+ */
282
+ value(subjectIdOrKey: operations['getEntitlementValue']['parameters']['path']['subjectIdOrKey'], entitlementIdOrFeatureKey: operations['getEntitlementValue']['parameters']['path']['entitlementIdOrFeatureKey'], query?: operations['getEntitlementValue']['parameters']['query'], signal?: AbortSignal): Promise<{
283
+ data?: never;
284
+ error: import("./utils.js").Problem;
285
+ response: Response;
286
+ } | {
287
+ data: {
288
+ readonly hasAccess: boolean;
289
+ readonly balance?: number;
290
+ readonly usage?: number;
291
+ readonly overage?: number;
292
+ readonly config?: string;
293
+ };
294
+ error?: never;
295
+ response: Response;
296
+ }>;
297
+ /**
298
+ * Get the history of an entitlement
299
+ * Returns historical balance and usage data for the entitlement. The queried history can span accross multiple reset events.
300
+ *
301
+ * @param subjectIdOrKey - The ID or key of the subject
302
+ * @param entitlementId - The ID of the entitlement
303
+ * @param query - The query parameters
304
+ * @param signal - An optional abort signal
305
+ * @returns The history of the entitlement
306
+ */
307
+ history(subjectIdOrKey: operations['getEntitlementHistory']['parameters']['path']['subjectIdOrKey'], entitlementId: operations['getEntitlementHistory']['parameters']['path']['entitlementId'], query: operations['getEntitlementHistory']['parameters']['query'], signal?: AbortSignal): Promise<{
308
+ data?: never;
309
+ error: import("./utils.js").Problem;
310
+ response: Response;
311
+ } | {
312
+ data: {
313
+ windowedHistory: import("./schemas.js").components["schemas"]["BalanceHistoryWindow"][];
314
+ burndownHistory: import("./schemas.js").components["schemas"]["GrantBurnDownHistorySegment"][];
315
+ };
316
+ error?: never;
317
+ response: Response;
318
+ }>;
319
+ /**
320
+ * Override an entitlement
321
+ * This is useful for upgrades, downgrades, or other changes to entitlements that require a new entitlement to be created with zero downtime.
322
+ *
323
+ * @param subjectIdOrKey - The ID or key of the subject
324
+ * @param entitlementIdOrFeatureKey - The ID or feature key of the entitlement
325
+ * @param override - The override to create
326
+ * @param signal - An optional abort signal
327
+ * @returns The overridden entitlement
328
+ */
329
+ override(subjectIdOrKey: operations['overrideEntitlement']['parameters']['path']['subjectIdOrKey'], entitlementIdOrFeatureKey: operations['overrideEntitlement']['parameters']['path']['entitlementIdOrFeatureKey'], override: EntitlementCreateInputs, signal?: AbortSignal): Promise<{
330
+ data?: never;
331
+ error: import("./utils.js").Problem;
332
+ response: Response;
333
+ } | {
334
+ data: import("openapi-typescript-helpers").SuccessResponse<{
335
+ 201: {
336
+ headers: {
337
+ [name: string]: unknown;
338
+ };
339
+ content: {
340
+ "application/json": import("./schemas.js").components["schemas"]["Entitlement"];
341
+ };
342
+ };
343
+ 400: {
344
+ headers: {
345
+ [name: string]: unknown;
346
+ };
347
+ content: {
348
+ "application/problem+json": import("./schemas.js").components["schemas"]["BadRequestProblemResponse"];
349
+ };
350
+ };
351
+ 401: {
352
+ headers: {
353
+ [name: string]: unknown;
354
+ };
355
+ content: {
356
+ "application/problem+json": import("./schemas.js").components["schemas"]["UnauthorizedProblemResponse"];
357
+ };
358
+ };
359
+ 403: {
360
+ headers: {
361
+ [name: string]: unknown;
362
+ };
363
+ content: {
364
+ "application/problem+json": import("./schemas.js").components["schemas"]["ForbiddenProblemResponse"];
365
+ };
366
+ };
367
+ 404: {
368
+ headers: {
369
+ [name: string]: unknown;
370
+ };
371
+ content: {
372
+ "application/problem+json": import("./schemas.js").components["schemas"]["NotFoundProblemResponse"];
373
+ };
374
+ };
375
+ 409: {
376
+ headers: {
377
+ [name: string]: unknown;
378
+ };
379
+ content: {
380
+ "application/problem+json": import("./schemas.js").components["schemas"]["ConflictProblemResponse"];
381
+ };
382
+ };
383
+ 500: {
384
+ headers: {
385
+ [name: string]: unknown;
386
+ };
387
+ content: {
388
+ "application/problem+json": import("./schemas.js").components["schemas"]["InternalServerErrorProblemResponse"];
389
+ };
390
+ };
391
+ 503: {
392
+ headers: {
393
+ [name: string]: unknown;
394
+ };
395
+ content: {
396
+ "application/problem+json": import("./schemas.js").components["schemas"]["ServiceUnavailableProblemResponse"];
397
+ };
398
+ };
399
+ default: {
400
+ headers: {
401
+ [name: string]: unknown;
402
+ };
403
+ content: {
404
+ "application/problem+json": import("./schemas.js").components["schemas"]["UnexpectedProblemResponse"];
405
+ };
406
+ };
407
+ }, `${string}/${string}`>;
408
+ error?: never;
409
+ response: Response;
410
+ }>;
411
+ /**
412
+ * Reset entitlement usage
413
+ * - Reset marks the start of a new usage period for the entitlement and initiates grant rollover. At the start of a period usage is zerod out and grants are rolled over based on their rollover settings. It would typically be synced with the subjects billing period to enforce usage based on their subscription.
414
+ * - Usage is automatically reset for metered entitlements based on their usage period, but this endpoint allows to manually reset it at any time. When doing so the period anchor of the entitlement can be changed if needed.
415
+ *
416
+ * @param subjectIdOrKey - The ID or key of the subject
417
+ * @param entitlementId - The ID of the entitlement
418
+ * @param body - The body of the request
419
+ * @param signal - An optional abort signal
420
+ * @returns The reset entitlement
421
+ */
422
+ reset(subjectIdOrKey: operations['resetEntitlementUsage']['parameters']['path']['subjectIdOrKey'], entitlementId: operations['resetEntitlementUsage']['parameters']['path']['entitlementId'], body: ResetEntitlementUsageInput, signal?: AbortSignal): Promise<{
423
+ data?: never;
424
+ error: import("./utils.js").Problem;
425
+ response: Response;
426
+ } | {
427
+ data: undefined;
428
+ error?: never;
429
+ response: Response;
430
+ }>;
431
+ }
432
+ export declare class Grants {
433
+ private client;
434
+ constructor(client: Client<paths, `${string}/${string}`>);
435
+ /**
436
+ /**
437
+ * Grant usage to a subject for an entitlement
438
+ *
439
+ * @param subjectIdOrKey - The ID or key of the subject
440
+ * @param entitlementIdOrFeatureKey - The ID or feature key of the entitlement
441
+ * @param grant - The grant to create
442
+ * @param signal - An optional abort signal
443
+ * @returns The created grant
444
+ */
445
+ create(subjectIdOrKey: operations['createGrant']['parameters']['path']['subjectIdOrKey'], entitlementIdOrFeatureKey: operations['createGrant']['parameters']['path']['entitlementIdOrFeatureKey'], grant: EntitlementGrantCreateInput, signal?: AbortSignal): Promise<{
446
+ data?: never;
447
+ error: import("./utils.js").Problem;
448
+ response: Response;
449
+ } | {
450
+ data: {
451
+ readonly createdAt: Date;
452
+ readonly updatedAt: Date;
453
+ readonly deletedAt?: Date;
454
+ amount: number;
455
+ priority?: number;
456
+ effectiveAt: Date;
457
+ expiration: import("./schemas.js").components["schemas"]["ExpirationPeriod"];
458
+ maxRolloverAmount?: number;
459
+ minRolloverAmount?: number;
460
+ metadata?: import("./schemas.js").components["schemas"]["Metadata"];
461
+ readonly id: string;
462
+ readonly entitlementId: string;
463
+ nextRecurrence?: Date;
464
+ readonly expiresAt?: Date;
465
+ voidedAt?: Date;
466
+ recurrence?: import("./schemas.js").components["schemas"]["RecurringPeriod"];
467
+ };
468
+ error?: never;
469
+ response: Response;
470
+ }>;
471
+ /**
472
+ * List grants for an entitlement
473
+ *
474
+ * @param subjectIdOrKey - The ID or key of the subject
475
+ * @param entitlementIdOrFeatureKey - The ID or feature key of the entitlement
476
+ * @param signal - An optional abort signal
477
+ * @returns The grants
478
+ */
479
+ list(subjectIdOrKey: operations['listEntitlementGrants']['parameters']['path']['subjectIdOrKey'], entitlementIdOrFeatureKey: operations['listEntitlementGrants']['parameters']['path']['entitlementIdOrFeatureKey'], query?: operations['listEntitlementGrants']['parameters']['query'], signal?: AbortSignal): Promise<{
480
+ data?: never;
481
+ error: import("./utils.js").Problem;
482
+ response: Response;
483
+ } | {
484
+ data: {
485
+ readonly createdAt: Date;
486
+ readonly updatedAt: Date;
487
+ readonly deletedAt?: Date;
488
+ amount: number;
489
+ priority?: number;
490
+ effectiveAt: Date;
491
+ expiration: import("./schemas.js").components["schemas"]["ExpirationPeriod"];
492
+ maxRolloverAmount?: number;
493
+ minRolloverAmount?: number;
494
+ metadata?: import("./schemas.js").components["schemas"]["Metadata"];
495
+ readonly id: string;
496
+ readonly entitlementId: string;
497
+ nextRecurrence?: Date;
498
+ readonly expiresAt?: Date;
499
+ voidedAt?: Date;
500
+ recurrence?: import("./schemas.js").components["schemas"]["RecurringPeriod"];
501
+ }[];
502
+ error?: never;
503
+ response: Response;
504
+ }>;
505
+ }