import { ApiTransport, type FetchLike, type RetryPolicy } from './transport.ts'; import type { TokenProvider } from './auth.ts'; import type { Account, AccountTransaction, CreateOrderInput, CreateOrderOptions, Order, OrderCreationResult, OrderListQuery, Page, Payment, PaymentQuery, PortfolioItem, PortfolioQuery, TransactionQuery } from './types.ts'; export interface ZafiroxClientOptions { /** Origen de la API, por ejemplo `https://datacenterv2.joyeriazafirox.com`. */ readonly baseUrl: string; readonly tokenProvider: TokenProvider; readonly fetch?: FetchLike; readonly timeoutMs?: number; readonly onRequestId?: (requestId: string) => void; /** Versión del contrato esperada. Por defecto `'1'`. */ readonly apiVersion?: string; readonly retry?: RetryPolicy; readonly maxResponseBytes?: number; } export declare const CLIENT_API_BASE_PATH = "/api/v1/client"; export declare class OrdersApi { #private; constructor(transport: ApiTransport); /** * `POST /orders`. Idempotente por `Idempotency-Key`: repetir la llamada con * la misma clave y el mismo payload devuelve `replayed: true`. */ create(input: CreateOrderInput, options?: CreateOrderOptions): Promise; /** `GET /orders` del alcance del token, paginado por cursor. */ list(query?: OrderListQuery): Promise>; } export declare class AccountApi { #private; constructor(transport: ApiTransport); /** `GET /account`: la cuenta principal del alcance. */ get(): Promise; /** `GET /account/transactions`, paginado por cursor. */ transactions(query?: TransactionQuery): Promise>; } export declare class PortfolioApi { #private; constructor(transport: ApiTransport); /** `GET /portfolio`, paginado por cursor. */ get(query?: PortfolioQuery): Promise>; /** `GET /portfolio/payments`, paginado por cursor. */ payments(query?: PaymentQuery): Promise>; } /** * Punto de entrada del SDK. No contiene secretos ni lógica de autorización: * el alcance (titular + masters activos) lo resuelve el servidor a partir del * token. */ export declare class ZafiroxClient { readonly orders: OrdersApi; readonly account: AccountApi; readonly portfolio: PortfolioApi; readonly apiVersion: string; constructor(options: ZafiroxClientOptions); } //# sourceMappingURL=client.d.ts.map