import { RateLimiter } from "./utils/rate-limiter.js"; import type { EtoroConfig } from "./types/config.js"; export declare class EtoroClient { private readonly config; private readonly rateLimiter; private readonly fetchFn; private readonly verbose; constructor(config: EtoroConfig, options?: { rateLimiter?: RateLimiter; fetchFn?: typeof fetch; verbose?: boolean; }); /** Get current rate limit status for all buckets. */ getRateLimitStatus(): Record<"GET" | "WRITE", { remaining: number; limit: number; resetInMs: number; }>; private buildHeaders; request(method: string, path: string, options?: { body?: unknown; params?: Record; timeout?: number; }): Promise; get(path: string, params?: Record): Promise; post(path: string, body?: unknown): Promise; put(path: string, body?: unknown): Promise; patch(path: string, body?: unknown): Promise; delete(path: string, body?: unknown): Promise; }