@fairmint/canton-node-sdk
Version:
Canton Node SDK
40 lines • 1.81 kB
TypeScript
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