@dbs-portal/core-api
Version:
HTTP client and API utilities for DBS Portal
76 lines • 2.65 kB
TypeScript
/**
* Extended factory functions with MSW integration
*/
import type { RequestHandler } from 'msw';
import type { ApiClientConfig } from '../../types';
import type { MockConfig } from '../types';
import { MockAwareApiClient, type MockAwareFactoryOptions, type EnvironmentAwareConfig } from './api-client-integration';
/**
* Create API client with MSW support
*/
export declare function createMockAwareApiClient(options: MockAwareFactoryOptions): Promise<MockAwareApiClient>;
/**
* Create API client with MSW support (synchronous)
*/
export declare function createMockAwareApiClientSync(options: MockAwareFactoryOptions): Promise<MockAwareApiClient>;
/**
* Create authenticated API client with MSW support
*/
export declare function createMockAwareAuthenticatedApiClient(baseURL: string, getToken: () => string | null, options?: {
mockBaseURL?: string;
enableMocking?: boolean;
mockConfig?: Partial<MockConfig>;
mockHandlers?: RequestHandler[];
clientConfig?: Partial<ApiClientConfig>;
}): Promise<MockAwareApiClient>;
/**
* Create environment-aware API client
*/
export declare function createEnvironmentAwareApiClient(config: EnvironmentAwareConfig): Promise<MockAwareApiClient>;
/**
* Create development API client with MSW support
*/
export declare function createMockAwareDevelopmentApiClient(baseURL: string, options?: {
mockBaseURL?: string;
enableMocking?: boolean;
mockConfig?: Partial<MockConfig>;
mockHandlers?: RequestHandler[];
clientConfig?: Partial<ApiClientConfig>;
}): Promise<MockAwareApiClient>;
/**
* Create API client from configuration with MSW support
*/
export declare function createMockAwareApiClientFromConfig(config: {
baseURL: string;
mockBaseURL?: string;
auth?: {
type: 'bearer' | 'basic' | 'apiKey';
token?: string;
username?: string;
password?: string;
apiKey?: string;
};
features?: {
cache?: boolean;
retry?: boolean;
rateLimit?: boolean;
logging?: boolean;
mocking?: boolean;
};
mocking?: {
enabled?: boolean;
config?: Partial<MockConfig>;
handlers?: RequestHandler[];
};
options?: Partial<ApiClientConfig>;
}): Promise<MockAwareApiClient>;
/**
* Convenience function to create API client based on environment
*/
export declare function createApiClientForEnvironment(baseURL: string, options?: {
mockBaseURL?: string;
getToken?: () => string | null;
mockHandlers?: RequestHandler[];
clientConfig?: Partial<ApiClientConfig>;
}): Promise<MockAwareApiClient>;
//# sourceMappingURL=factory-extensions.d.ts.map