import { createNullContext } from './Context.mjs';

/**
 * @deprecated You probably want to use `createUmi` from
 * `@metaplex-foundation/umi-bundle-defaults` instead. If
 * you're sure you want to use the base Umi without any plugins,
 * you can use `createBaseUmi` instead.
 *
 * @example Using defaults bundle:
 * import { createUmi } from '@metaplex-foundation/umi-bundle-defaults';
 * const umi = createUmi('https://...');
 *
 * @example Base only (no plugins):
 * import { createBaseUmi } from '@metaplex-foundation/umi';
 * const umi = createBaseUmi();
 */
const createUmi = () => createBaseUmi();

/**
 * Creates a Umi instance using only Null implementations of the interfaces.
 * The `use` method can then be used to install plugins and replace the
 * Null implementations with real implementations.
 *
 * @category Context and Interfaces
 */
const createBaseUmi = () => ({
  ...createNullContext(),
  use(plugin) {
    plugin.install(this);
    return this;
  }
});

export { createBaseUmi, createUmi };
//# sourceMappingURL=Umi.mjs.map
