@fairmint/canton-node-sdk
Version:
Canton Node SDK
19 lines • 982 B
TypeScript
import { z } from 'zod';
import { type BaseClient } from '../BaseClient';
import { type 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[];
}
//# sourceMappingURL=ApiOperation.d.ts.map