@dbs-portal/core-api
Version:
HTTP client and API utilities for DBS Portal
58 lines • 2.13 kB
TypeScript
/**
* 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