import type { ZodSchema } from "zod"; import { BaseService, type CommonErrors } from "../../api/base-service"; import type { PaginationMeta } from "../../api/shared"; import { type TransactionListParams } from "./schemas"; /** Common list arguments for transaction services */ export type TransactionListArgs = TransactionListParams; /** Result type for list operations */ export type TransactionListResult = CommonErrors | ["missing_id_token", null] | ["server_error", null] | ["invalid_response", null] | [null, T]; /** Result type for get operations */ export type TransactionGetResult = CommonErrors | ["missing_id_token", null] | ["server_error", null] | ["not_found", null] | ["invalid_response", null] | [null, T]; /** * Base service for transaction resources. * Handles common query parameter building and response parsing. */ export declare abstract class TransactionService extends BaseService { /** * Builds query params from args, mapping camelCase to snake_case. * Undefined/null values are filtered out by toQueryString. */ protected buildListParams(args?: TransactionListArgs): Record; /** Converts params to query string, filtering undefined/null and coercing to strings. */ protected toQueryString(params: Record): string; /** Validates list arguments before making API request. */ protected validateListArgs(args: TransactionListArgs): boolean; /** Generic list handler with schema validation. */ protected handleList(endpoint: string, queryString: string, schema: ZodSchema, resourceName: string, args?: TransactionListArgs): Promise>; protected handleListPerItem(endpoint: string, queryString: string, itemSchema: ZodSchema, resourceName: string, args?: TransactionListArgs): Promise>; /** Generic get handler with schema validation. */ protected handleGet(endpoint: string, schema: ZodSchema, resourceName: string): Promise>; }