geniebox-shared-lib 2.1.3 → 2.2.1

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.
@@ -0,0 +1,12 @@
1
+ import { OnModuleInit } from "@nestjs/common";
2
+ import { ClientGrpc } from "@nestjs/microservices";
3
+ import { BillingServiceClient } from "./billing.interface";
4
+ export declare class BillingClient implements OnModuleInit {
5
+ private readonly client;
6
+ private readonly logger;
7
+ private billingClient?;
8
+ constructor(client: ClientGrpc);
9
+ onModuleInit(): void;
10
+ get service(): BillingServiceClient;
11
+ isReady(): boolean;
12
+ }
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ var BillingClient_1;
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.BillingClient = void 0;
17
+ const common_1 = require("@nestjs/common");
18
+ let BillingClient = BillingClient_1 = class BillingClient {
19
+ constructor(client) {
20
+ this.client = client;
21
+ this.logger = new common_1.Logger(BillingClient_1.name);
22
+ }
23
+ onModuleInit() {
24
+ this.billingClient =
25
+ this.client.getService("BillingService");
26
+ this.logger.log("BillingServiceClient initialized");
27
+ }
28
+ get service() {
29
+ if (!this.billingClient) {
30
+ throw new common_1.InternalServerErrorException("BillingService is not initialized yet");
31
+ }
32
+ return this.billingClient;
33
+ }
34
+ isReady() {
35
+ return !!this.billingClient;
36
+ }
37
+ };
38
+ exports.BillingClient = BillingClient;
39
+ exports.BillingClient = BillingClient = BillingClient_1 = __decorate([
40
+ (0, common_1.Injectable)(),
41
+ __param(0, (0, common_1.Inject)("BILLING_PACKAGE")),
42
+ __metadata("design:paramtypes", [Object])
43
+ ], BillingClient);
@@ -0,0 +1,434 @@
1
+ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
2
+ import type { handleUnaryCall, Metadata, UntypedServiceImplementation } from "@grpc/grpc-js";
3
+ import { Observable } from "rxjs";
4
+ export declare const protobufPackage = "billing";
5
+ export interface Balance {
6
+ userId: string;
7
+ balance: number;
8
+ currency: string;
9
+ updatedAt: string;
10
+ }
11
+ export interface Transaction {
12
+ id: string;
13
+ userId: string;
14
+ /** deposit, charge, refund */
15
+ type: string;
16
+ amount: number;
17
+ currency: string;
18
+ /** pending, completed, failed */
19
+ status: string;
20
+ description: string;
21
+ /** JSON string */
22
+ metadata: string;
23
+ createdAt: string;
24
+ }
25
+ export interface Usage {
26
+ id: string;
27
+ keyId: string;
28
+ requestId: string;
29
+ userId: string;
30
+ tokensInput: number;
31
+ tokensOutput: number;
32
+ cost: number;
33
+ endpointId: string;
34
+ modelId: string;
35
+ /** pending, completed, failed */
36
+ status: string;
37
+ createdAt: string;
38
+ }
39
+ export interface Payment {
40
+ id: string;
41
+ userId: string;
42
+ transactionId: string;
43
+ /** yookassa */
44
+ provider: string;
45
+ providerPaymentId: string;
46
+ amount: number;
47
+ currency: string;
48
+ /** pending, succeeded, failed, cancelled */
49
+ status: string;
50
+ /** JSON string */
51
+ metadata: string;
52
+ createdAt: string;
53
+ }
54
+ export interface UsageStats {
55
+ totalTokensInput: number;
56
+ totalTokensOutput: number;
57
+ totalCost: number;
58
+ requestCount: number;
59
+ records: Usage[];
60
+ }
61
+ export interface GetBalanceRequest {
62
+ userId: string;
63
+ }
64
+ export interface ChargeRequest {
65
+ userId: string;
66
+ amount: number;
67
+ description: string;
68
+ /** JSON string, optional */
69
+ metadata: string;
70
+ }
71
+ export interface DepositRequest {
72
+ userId: string;
73
+ amount: number;
74
+ description: string;
75
+ /** JSON string, optional */
76
+ metadata: string;
77
+ }
78
+ export interface GetBalanceResponse {
79
+ balance?: Balance | undefined;
80
+ }
81
+ export interface ChargeResponse {
82
+ transaction?: Transaction | undefined;
83
+ balance?: Balance | undefined;
84
+ }
85
+ export interface DepositResponse {
86
+ transaction?: Transaction | undefined;
87
+ balance?: Balance | undefined;
88
+ }
89
+ export interface CreateTransactionRequest {
90
+ userId: string;
91
+ /** deposit, charge, refund */
92
+ type: string;
93
+ amount: number;
94
+ description: string;
95
+ /** JSON string, optional */
96
+ metadata: string;
97
+ }
98
+ export interface GetTransactionsRequest {
99
+ userId: string;
100
+ /** ISO date, optional */
101
+ startDate: string;
102
+ /** ISO date, optional */
103
+ endDate: string;
104
+ /** optional filter */
105
+ type: string;
106
+ /** optional, default 100 */
107
+ limit: number;
108
+ /** optional, default 0 */
109
+ offset: number;
110
+ }
111
+ export interface GetTransactionRequest {
112
+ id: string;
113
+ }
114
+ export interface CreateTransactionResponse {
115
+ transaction?: Transaction | undefined;
116
+ }
117
+ export interface GetTransactionsResponse {
118
+ transactions: Transaction[];
119
+ total: number;
120
+ }
121
+ export interface GetTransactionResponse {
122
+ transaction?: Transaction | undefined;
123
+ }
124
+ export interface RecordUsageRequest {
125
+ keyId: string;
126
+ requestId: string;
127
+ userId: string;
128
+ tokensInput: number;
129
+ tokensOutput: number;
130
+ cost: number;
131
+ endpointId: string;
132
+ modelId: string;
133
+ /** pending, completed, failed */
134
+ status: string;
135
+ }
136
+ export interface GetUsageStatsRequest {
137
+ keyId: string;
138
+ /** ISO date, optional */
139
+ startDate: string;
140
+ /** ISO date, optional */
141
+ endDate: string;
142
+ }
143
+ export interface GetUsageByKeyRequest {
144
+ keyId: string;
145
+ /** optional, default 100 */
146
+ limit: number;
147
+ /** optional, default 0 */
148
+ offset: number;
149
+ }
150
+ export interface GetUsageByUserRequest {
151
+ userId: string;
152
+ /** optional, default 100 */
153
+ limit: number;
154
+ /** optional, default 0 */
155
+ offset: number;
156
+ }
157
+ export interface RecordUsageResponse {
158
+ usage?: Usage | undefined;
159
+ }
160
+ export interface GetUsageStatsResponse {
161
+ stats?: UsageStats | undefined;
162
+ }
163
+ export interface GetUsageByKeyResponse {
164
+ usages: Usage[];
165
+ total: number;
166
+ }
167
+ export interface GetUsageByUserResponse {
168
+ usages: Usage[];
169
+ total: number;
170
+ }
171
+ export interface CreatePaymentRequest {
172
+ userId: string;
173
+ amount: number;
174
+ /** default USD */
175
+ currency: string;
176
+ description: string;
177
+ /** URL for redirect after payment */
178
+ returnUrl: string;
179
+ /** JSON string, optional */
180
+ metadata: string;
181
+ }
182
+ export interface GetPaymentRequest {
183
+ id: string;
184
+ }
185
+ export interface GetPaymentsByUserRequest {
186
+ userId: string;
187
+ /** optional, default 100 */
188
+ limit: number;
189
+ /** optional, default 0 */
190
+ offset: number;
191
+ }
192
+ export interface ProcessWebhookRequest {
193
+ /** webhook event type */
194
+ event: string;
195
+ /** JSON string with webhook data */
196
+ data: string;
197
+ }
198
+ export interface CreatePaymentResponse {
199
+ payment?: Payment | undefined;
200
+ /** URL for user to complete payment */
201
+ paymentUrl: string;
202
+ }
203
+ export interface GetPaymentResponse {
204
+ payment?: Payment | undefined;
205
+ }
206
+ export interface GetPaymentsByUserResponse {
207
+ payments: Payment[];
208
+ total: number;
209
+ }
210
+ export interface ProcessWebhookResponse {
211
+ success: boolean;
212
+ message: string;
213
+ }
214
+ export declare const BILLING_PACKAGE_NAME = "billing";
215
+ export declare const Balance: MessageFns<Balance>;
216
+ export declare const Transaction: MessageFns<Transaction>;
217
+ export declare const Usage: MessageFns<Usage>;
218
+ export declare const Payment: MessageFns<Payment>;
219
+ export declare const UsageStats: MessageFns<UsageStats>;
220
+ export declare const GetBalanceRequest: MessageFns<GetBalanceRequest>;
221
+ export declare const ChargeRequest: MessageFns<ChargeRequest>;
222
+ export declare const DepositRequest: MessageFns<DepositRequest>;
223
+ export declare const GetBalanceResponse: MessageFns<GetBalanceResponse>;
224
+ export declare const ChargeResponse: MessageFns<ChargeResponse>;
225
+ export declare const DepositResponse: MessageFns<DepositResponse>;
226
+ export declare const CreateTransactionRequest: MessageFns<CreateTransactionRequest>;
227
+ export declare const GetTransactionsRequest: MessageFns<GetTransactionsRequest>;
228
+ export declare const GetTransactionRequest: MessageFns<GetTransactionRequest>;
229
+ export declare const CreateTransactionResponse: MessageFns<CreateTransactionResponse>;
230
+ export declare const GetTransactionsResponse: MessageFns<GetTransactionsResponse>;
231
+ export declare const GetTransactionResponse: MessageFns<GetTransactionResponse>;
232
+ export declare const RecordUsageRequest: MessageFns<RecordUsageRequest>;
233
+ export declare const GetUsageStatsRequest: MessageFns<GetUsageStatsRequest>;
234
+ export declare const GetUsageByKeyRequest: MessageFns<GetUsageByKeyRequest>;
235
+ export declare const GetUsageByUserRequest: MessageFns<GetUsageByUserRequest>;
236
+ export declare const RecordUsageResponse: MessageFns<RecordUsageResponse>;
237
+ export declare const GetUsageStatsResponse: MessageFns<GetUsageStatsResponse>;
238
+ export declare const GetUsageByKeyResponse: MessageFns<GetUsageByKeyResponse>;
239
+ export declare const GetUsageByUserResponse: MessageFns<GetUsageByUserResponse>;
240
+ export declare const CreatePaymentRequest: MessageFns<CreatePaymentRequest>;
241
+ export declare const GetPaymentRequest: MessageFns<GetPaymentRequest>;
242
+ export declare const GetPaymentsByUserRequest: MessageFns<GetPaymentsByUserRequest>;
243
+ export declare const ProcessWebhookRequest: MessageFns<ProcessWebhookRequest>;
244
+ export declare const CreatePaymentResponse: MessageFns<CreatePaymentResponse>;
245
+ export declare const GetPaymentResponse: MessageFns<GetPaymentResponse>;
246
+ export declare const GetPaymentsByUserResponse: MessageFns<GetPaymentsByUserResponse>;
247
+ export declare const ProcessWebhookResponse: MessageFns<ProcessWebhookResponse>;
248
+ export interface BillingServiceClient {
249
+ /** Balance operations */
250
+ getBalance(request: GetBalanceRequest, metadata?: Metadata): Observable<GetBalanceResponse>;
251
+ charge(request: ChargeRequest, metadata?: Metadata): Observable<ChargeResponse>;
252
+ deposit(request: DepositRequest, metadata?: Metadata): Observable<DepositResponse>;
253
+ /** Transaction operations */
254
+ createTransaction(request: CreateTransactionRequest, metadata?: Metadata): Observable<CreateTransactionResponse>;
255
+ getTransactions(request: GetTransactionsRequest, metadata?: Metadata): Observable<GetTransactionsResponse>;
256
+ getTransaction(request: GetTransactionRequest, metadata?: Metadata): Observable<GetTransactionResponse>;
257
+ /** Usage operations */
258
+ recordUsage(request: RecordUsageRequest, metadata?: Metadata): Observable<RecordUsageResponse>;
259
+ getUsageStats(request: GetUsageStatsRequest, metadata?: Metadata): Observable<GetUsageStatsResponse>;
260
+ getUsageByKey(request: GetUsageByKeyRequest, metadata?: Metadata): Observable<GetUsageByKeyResponse>;
261
+ getUsageByUser(request: GetUsageByUserRequest, metadata?: Metadata): Observable<GetUsageByUserResponse>;
262
+ /** Payment operations */
263
+ createPayment(request: CreatePaymentRequest, metadata?: Metadata): Observable<CreatePaymentResponse>;
264
+ getPayment(request: GetPaymentRequest, metadata?: Metadata): Observable<GetPaymentResponse>;
265
+ getPaymentsByUser(request: GetPaymentsByUserRequest, metadata?: Metadata): Observable<GetPaymentsByUserResponse>;
266
+ }
267
+ export interface BillingServiceController {
268
+ /** Balance operations */
269
+ getBalance(request: GetBalanceRequest, metadata?: Metadata): Promise<GetBalanceResponse> | Observable<GetBalanceResponse> | GetBalanceResponse;
270
+ charge(request: ChargeRequest, metadata?: Metadata): Promise<ChargeResponse> | Observable<ChargeResponse> | ChargeResponse;
271
+ deposit(request: DepositRequest, metadata?: Metadata): Promise<DepositResponse> | Observable<DepositResponse> | DepositResponse;
272
+ /** Transaction operations */
273
+ createTransaction(request: CreateTransactionRequest, metadata?: Metadata): Promise<CreateTransactionResponse> | Observable<CreateTransactionResponse> | CreateTransactionResponse;
274
+ getTransactions(request: GetTransactionsRequest, metadata?: Metadata): Promise<GetTransactionsResponse> | Observable<GetTransactionsResponse> | GetTransactionsResponse;
275
+ getTransaction(request: GetTransactionRequest, metadata?: Metadata): Promise<GetTransactionResponse> | Observable<GetTransactionResponse> | GetTransactionResponse;
276
+ /** Usage operations */
277
+ recordUsage(request: RecordUsageRequest, metadata?: Metadata): Promise<RecordUsageResponse> | Observable<RecordUsageResponse> | RecordUsageResponse;
278
+ getUsageStats(request: GetUsageStatsRequest, metadata?: Metadata): Promise<GetUsageStatsResponse> | Observable<GetUsageStatsResponse> | GetUsageStatsResponse;
279
+ getUsageByKey(request: GetUsageByKeyRequest, metadata?: Metadata): Promise<GetUsageByKeyResponse> | Observable<GetUsageByKeyResponse> | GetUsageByKeyResponse;
280
+ getUsageByUser(request: GetUsageByUserRequest, metadata?: Metadata): Promise<GetUsageByUserResponse> | Observable<GetUsageByUserResponse> | GetUsageByUserResponse;
281
+ /** Payment operations */
282
+ createPayment(request: CreatePaymentRequest, metadata?: Metadata): Promise<CreatePaymentResponse> | Observable<CreatePaymentResponse> | CreatePaymentResponse;
283
+ getPayment(request: GetPaymentRequest, metadata?: Metadata): Promise<GetPaymentResponse> | Observable<GetPaymentResponse> | GetPaymentResponse;
284
+ getPaymentsByUser(request: GetPaymentsByUserRequest, metadata?: Metadata): Promise<GetPaymentsByUserResponse> | Observable<GetPaymentsByUserResponse> | GetPaymentsByUserResponse;
285
+ }
286
+ export declare function BillingServiceControllerMethods(): (constructor: Function) => void;
287
+ export declare const BILLING_SERVICE_NAME = "BillingService";
288
+ export type BillingServiceService = typeof BillingServiceService;
289
+ export declare const BillingServiceService: {
290
+ /** Balance operations */
291
+ readonly getBalance: {
292
+ readonly path: "/billing.BillingService/GetBalance";
293
+ readonly requestStream: false;
294
+ readonly responseStream: false;
295
+ readonly requestSerialize: (value: GetBalanceRequest) => Buffer;
296
+ readonly requestDeserialize: (value: Buffer) => GetBalanceRequest;
297
+ readonly responseSerialize: (value: GetBalanceResponse) => Buffer;
298
+ readonly responseDeserialize: (value: Buffer) => GetBalanceResponse;
299
+ };
300
+ readonly charge: {
301
+ readonly path: "/billing.BillingService/Charge";
302
+ readonly requestStream: false;
303
+ readonly responseStream: false;
304
+ readonly requestSerialize: (value: ChargeRequest) => Buffer;
305
+ readonly requestDeserialize: (value: Buffer) => ChargeRequest;
306
+ readonly responseSerialize: (value: ChargeResponse) => Buffer;
307
+ readonly responseDeserialize: (value: Buffer) => ChargeResponse;
308
+ };
309
+ readonly deposit: {
310
+ readonly path: "/billing.BillingService/Deposit";
311
+ readonly requestStream: false;
312
+ readonly responseStream: false;
313
+ readonly requestSerialize: (value: DepositRequest) => Buffer;
314
+ readonly requestDeserialize: (value: Buffer) => DepositRequest;
315
+ readonly responseSerialize: (value: DepositResponse) => Buffer;
316
+ readonly responseDeserialize: (value: Buffer) => DepositResponse;
317
+ };
318
+ /** Transaction operations */
319
+ readonly createTransaction: {
320
+ readonly path: "/billing.BillingService/CreateTransaction";
321
+ readonly requestStream: false;
322
+ readonly responseStream: false;
323
+ readonly requestSerialize: (value: CreateTransactionRequest) => Buffer;
324
+ readonly requestDeserialize: (value: Buffer) => CreateTransactionRequest;
325
+ readonly responseSerialize: (value: CreateTransactionResponse) => Buffer;
326
+ readonly responseDeserialize: (value: Buffer) => CreateTransactionResponse;
327
+ };
328
+ readonly getTransactions: {
329
+ readonly path: "/billing.BillingService/GetTransactions";
330
+ readonly requestStream: false;
331
+ readonly responseStream: false;
332
+ readonly requestSerialize: (value: GetTransactionsRequest) => Buffer;
333
+ readonly requestDeserialize: (value: Buffer) => GetTransactionsRequest;
334
+ readonly responseSerialize: (value: GetTransactionsResponse) => Buffer;
335
+ readonly responseDeserialize: (value: Buffer) => GetTransactionsResponse;
336
+ };
337
+ readonly getTransaction: {
338
+ readonly path: "/billing.BillingService/GetTransaction";
339
+ readonly requestStream: false;
340
+ readonly responseStream: false;
341
+ readonly requestSerialize: (value: GetTransactionRequest) => Buffer;
342
+ readonly requestDeserialize: (value: Buffer) => GetTransactionRequest;
343
+ readonly responseSerialize: (value: GetTransactionResponse) => Buffer;
344
+ readonly responseDeserialize: (value: Buffer) => GetTransactionResponse;
345
+ };
346
+ /** Usage operations */
347
+ readonly recordUsage: {
348
+ readonly path: "/billing.BillingService/RecordUsage";
349
+ readonly requestStream: false;
350
+ readonly responseStream: false;
351
+ readonly requestSerialize: (value: RecordUsageRequest) => Buffer;
352
+ readonly requestDeserialize: (value: Buffer) => RecordUsageRequest;
353
+ readonly responseSerialize: (value: RecordUsageResponse) => Buffer;
354
+ readonly responseDeserialize: (value: Buffer) => RecordUsageResponse;
355
+ };
356
+ readonly getUsageStats: {
357
+ readonly path: "/billing.BillingService/GetUsageStats";
358
+ readonly requestStream: false;
359
+ readonly responseStream: false;
360
+ readonly requestSerialize: (value: GetUsageStatsRequest) => Buffer;
361
+ readonly requestDeserialize: (value: Buffer) => GetUsageStatsRequest;
362
+ readonly responseSerialize: (value: GetUsageStatsResponse) => Buffer;
363
+ readonly responseDeserialize: (value: Buffer) => GetUsageStatsResponse;
364
+ };
365
+ readonly getUsageByKey: {
366
+ readonly path: "/billing.BillingService/GetUsageByKey";
367
+ readonly requestStream: false;
368
+ readonly responseStream: false;
369
+ readonly requestSerialize: (value: GetUsageByKeyRequest) => Buffer;
370
+ readonly requestDeserialize: (value: Buffer) => GetUsageByKeyRequest;
371
+ readonly responseSerialize: (value: GetUsageByKeyResponse) => Buffer;
372
+ readonly responseDeserialize: (value: Buffer) => GetUsageByKeyResponse;
373
+ };
374
+ readonly getUsageByUser: {
375
+ readonly path: "/billing.BillingService/GetUsageByUser";
376
+ readonly requestStream: false;
377
+ readonly responseStream: false;
378
+ readonly requestSerialize: (value: GetUsageByUserRequest) => Buffer;
379
+ readonly requestDeserialize: (value: Buffer) => GetUsageByUserRequest;
380
+ readonly responseSerialize: (value: GetUsageByUserResponse) => Buffer;
381
+ readonly responseDeserialize: (value: Buffer) => GetUsageByUserResponse;
382
+ };
383
+ /** Payment operations */
384
+ readonly createPayment: {
385
+ readonly path: "/billing.BillingService/CreatePayment";
386
+ readonly requestStream: false;
387
+ readonly responseStream: false;
388
+ readonly requestSerialize: (value: CreatePaymentRequest) => Buffer;
389
+ readonly requestDeserialize: (value: Buffer) => CreatePaymentRequest;
390
+ readonly responseSerialize: (value: CreatePaymentResponse) => Buffer;
391
+ readonly responseDeserialize: (value: Buffer) => CreatePaymentResponse;
392
+ };
393
+ readonly getPayment: {
394
+ readonly path: "/billing.BillingService/GetPayment";
395
+ readonly requestStream: false;
396
+ readonly responseStream: false;
397
+ readonly requestSerialize: (value: GetPaymentRequest) => Buffer;
398
+ readonly requestDeserialize: (value: Buffer) => GetPaymentRequest;
399
+ readonly responseSerialize: (value: GetPaymentResponse) => Buffer;
400
+ readonly responseDeserialize: (value: Buffer) => GetPaymentResponse;
401
+ };
402
+ readonly getPaymentsByUser: {
403
+ readonly path: "/billing.BillingService/GetPaymentsByUser";
404
+ readonly requestStream: false;
405
+ readonly responseStream: false;
406
+ readonly requestSerialize: (value: GetPaymentsByUserRequest) => Buffer;
407
+ readonly requestDeserialize: (value: Buffer) => GetPaymentsByUserRequest;
408
+ readonly responseSerialize: (value: GetPaymentsByUserResponse) => Buffer;
409
+ readonly responseDeserialize: (value: Buffer) => GetPaymentsByUserResponse;
410
+ };
411
+ };
412
+ export interface BillingServiceServer extends UntypedServiceImplementation {
413
+ /** Balance operations */
414
+ getBalance: handleUnaryCall<GetBalanceRequest, GetBalanceResponse>;
415
+ charge: handleUnaryCall<ChargeRequest, ChargeResponse>;
416
+ deposit: handleUnaryCall<DepositRequest, DepositResponse>;
417
+ /** Transaction operations */
418
+ createTransaction: handleUnaryCall<CreateTransactionRequest, CreateTransactionResponse>;
419
+ getTransactions: handleUnaryCall<GetTransactionsRequest, GetTransactionsResponse>;
420
+ getTransaction: handleUnaryCall<GetTransactionRequest, GetTransactionResponse>;
421
+ /** Usage operations */
422
+ recordUsage: handleUnaryCall<RecordUsageRequest, RecordUsageResponse>;
423
+ getUsageStats: handleUnaryCall<GetUsageStatsRequest, GetUsageStatsResponse>;
424
+ getUsageByKey: handleUnaryCall<GetUsageByKeyRequest, GetUsageByKeyResponse>;
425
+ getUsageByUser: handleUnaryCall<GetUsageByUserRequest, GetUsageByUserResponse>;
426
+ /** Payment operations */
427
+ createPayment: handleUnaryCall<CreatePaymentRequest, CreatePaymentResponse>;
428
+ getPayment: handleUnaryCall<GetPaymentRequest, GetPaymentResponse>;
429
+ getPaymentsByUser: handleUnaryCall<GetPaymentsByUserRequest, GetPaymentsByUserResponse>;
430
+ }
431
+ export interface MessageFns<T> {
432
+ encode(message: T, writer?: BinaryWriter): BinaryWriter;
433
+ decode(input: BinaryReader | Uint8Array, length?: number): T;
434
+ }