export * from './types';
export * from './utils';
export { Client, ClientConfig, KeyDAO, CacheKeyDAO } from './client';
import {
  Client,
  ClientConfig,
  DefaultClientConfig,
} from './client';

/**
 * Initialize MCPS SDK
 *
 * @param config MCPS SDK [[ClientConfig]]
 *
 * @returns New MCPS SDK Instance
 */
export function newClient(config: ClientConfig): Client {
  const copyConfig = new DefaultClientConfig();
  Object.assign(copyConfig, config);
  return new Client(copyConfig);
}
