import type { HttpClient } from '../HttpClient.js'; import type { RequestOptions, TagadaList } from '../types/common.js'; /** * Base class for all API resources. Provides shared HTTP plumbing so every * resource module stays thin and declarative — just like Stripe's SDK design. */ export declare abstract class BaseResource { protected readonly client: HttpClient; constructor(client: HttpClient); protected _get(path: string, query?: Record, opts?: RequestOptions): Promise; protected _post(path: string, body?: unknown, opts?: RequestOptions): Promise; protected _put(path: string, body?: unknown, opts?: RequestOptions): Promise; protected _del(path: string, body?: unknown, opts?: RequestOptions): Promise; /** * Normalize various list response shapes from the API into a consistent * TagadaList envelope. The API sometimes returns { items, total, page } * and sometimes { payments, total, pageCount } etc. */ protected toList(raw: Record, dataKey: string, pageSize?: number): TagadaList; } //# sourceMappingURL=BaseResource.d.ts.map