UNPKG

@dbs-portal/core-api

Version:

HTTP client and API utilities for DBS Portal

58 lines 2.13 kB
/** * Factory functions for creating API clients */ import { ApiClient } from './api-client'; import type { ApiClientConfig } from '../types'; /** * Creates a basic API client with minimal configuration */ export declare function createApiClient(config?: ApiClientConfig): ApiClient; /** * Creates an API client with authentication */ export declare function createAuthenticatedApiClient(baseURL: string, getToken: () => string | null, config?: Partial<ApiClientConfig>): ApiClient; /** * Creates an API client with caching enabled */ export declare function createCachedApiClient(baseURL: string, config?: Partial<ApiClientConfig>): ApiClient; /** * Creates an API client with retry logic */ export declare function createRetryApiClient(baseURL: string, config?: Partial<ApiClientConfig>): ApiClient; /** * Creates an API client with rate limiting */ export declare function createRateLimitedApiClient(baseURL: string, maxRequests?: number, perMilliseconds?: number, config?: Partial<ApiClientConfig>): ApiClient; /** * Creates a fully featured API client with all advanced features */ export declare function createAdvancedApiClient(baseURL: string, getToken: () => string | null, config?: Partial<ApiClientConfig>): ApiClient; /** * Creates an API client for development with logging */ export declare function createDevelopmentApiClient(baseURL: string, config?: Partial<ApiClientConfig>): ApiClient; /** * Creates an API client for production with optimizations */ export declare function createProductionApiClient(baseURL: string, config?: Partial<ApiClientConfig>): ApiClient; /** * Creates an API client from configuration object */ export declare function createApiClientFromConfig(config: { baseURL: string; auth?: { type: 'bearer' | 'basic' | 'apiKey'; token?: string; username?: string; password?: string; apiKey?: string; }; features?: { cache?: boolean; retry?: boolean; rateLimit?: boolean; logging?: boolean; }; options?: Partial<ApiClientConfig>; }): ApiClient; //# sourceMappingURL=factory.d.ts.map