import type { FreshRSSConfig } from '../types/index.js'; /** * Handles HTTP communication with the FreshRSS API */ export declare class HttpClient { private readonly config; private auth; private feverKey; private readonly timeoutMs; private readonly maxRetries; private readonly retryBaseMs; constructor(config: FreshRSSConfig); /** * Build the API URL for a given endpoint */ private buildUrl; private buildFeverUrl; private shouldRetry; private sleep; private retryDelay; private readSnippet; private request; /** * Authenticate with FreshRSS */ authenticate(): Promise; private extractAuthToken; /** * Ensure we have a valid auth token */ ensureAuth(): Promise; /** * Get action token for write operations */ getActionToken(): Promise; /** * Make an authenticated GET request */ get(endpoint: string, params?: Record): Promise; /** * Make an authenticated GET request that returns raw text (no forced output=json). */ getText(endpoint: string, params?: Record): Promise; /** * Make an authenticated POST request */ post(endpoint: string, body: Record): Promise; /** * POST a raw body to greader endpoints (no action token injected). */ postRaw(endpoint: string, bodyText: string, contentType?: string): Promise; private ensureFeverKey; /** * Make a Fever API POST request. */ postFever(body: Record): Promise; } //# sourceMappingURL=http-client.d.ts.map