UNPKG

@fairmint/canton-node-sdk

Version:
40 lines 1.81 kB
import { z } from 'zod'; import { BaseClient, SimpleBaseClient } from '../BaseClient'; import { RequestConfig } from '../types'; /** Abstract base class for API operations with parameter validation and request handling */ export declare abstract class ApiOperation<Params, Response> { client: BaseClient; constructor(client: BaseClient); abstract execute(params: Params): Promise<Response>; validateParams<T>(params: T, schema: z.ZodSchema<T>): T; makeGetRequest<T>(url: string, config?: RequestConfig): Promise<T>; makePostRequest<T>(url: string, data: unknown, config?: RequestConfig): Promise<T>; makeDeleteRequest<T>(url: string, config?: RequestConfig): Promise<T>; makePatchRequest<T>(url: string, data: unknown, config?: RequestConfig): Promise<T>; getManagedParties(): string[]; getPartyId(): string | undefined; getApiUrl(): string; buildPartyList(additionalParties?: string[]): string[]; } /** Abstract base class for simple API operations that don't require authentication */ export declare abstract class SimpleApiOperation<Params, Response> { client: SimpleBaseClient; constructor(client: SimpleBaseClient); abstract execute(params: Params): Promise<Response>; validateParams<T>(params: T, schema: z.ZodSchema<T>): T; makeGetRequest<T>(url: string, config?: { contentType?: string; }): Promise<T>; makePostRequest<T>(url: string, data: unknown, config?: { contentType?: string; }): Promise<T>; makeDeleteRequest<T>(url: string, config?: { contentType?: string; }): Promise<T>; makePatchRequest<T>(url: string, data: unknown, config?: { contentType?: string; }): Promise<T>; getPartyId(): string; getApiUrl(): string; } //# sourceMappingURL=ApiOperation.d.ts.map