import { ScopeTuple, MoleculeInjector, MoleculeOrInterface } from './vanilla.js'; export { BindingMap, BindingTuple, BindingTuples, Bindings, ComponentScope, CreateInjectorProps, Injectable, Molecule, MoleculeConstructor, MoleculeGetter, MoleculeInterface, MoleculeScope, ScopeGetter, createInjector, createScope, getDefaultInjector, molecule, moleculeInterface, onMount, onUnmount, resetDefaultInjector, use } from './vanilla.js'; import { M as MoleculeScopeOptions } from './MoleculeScopeOptions-Bo0_xGmB.js'; /** * Provides a scope to children components. Overrides any existing scope of the current value. * * @param tuple - a scope tuple */ declare const provideScope: (tuple: ScopeTuple) => void; /** * Use the {@link MoleculeInjector} in context for the current component. * * Defaults to the default injector from {@link getDefaultInjector} * * @returns the injector in context */ declare const useInjector: () => MoleculeInjector; /** * Provide an injector to children components. * * This can be useful for testing and libraries to provide or replace an implementation * of a {@link MoleculeInterface}. * * @param injector - the injector to be provided to children components */ declare const provideInjector: (injector: MoleculeInjector) => void; /** * Gets an instance of a provided value from a {@link MoleculeOrInterface} * * @param mol - a molecule that will provided an instance * @param options - optional overrides for explicit scoping * @returns an instance provided by this molecule */ declare const useMolecule: (mol: MoleculeOrInterface, options?: MoleculeScopeOptions | undefined) => T; /** * Gets the scopes implicitly in context for the current component. * * Scope can also be explicitly provided to this hook. * * @param options - to provide explicit scopes or scope overrides * @returns a set of scopes */ declare const useScopes: (options?: MoleculeScopeOptions) => ScopeTuple[]; export { MoleculeInjector, MoleculeOrInterface, MoleculeScopeOptions, ScopeTuple, provideInjector, provideScope, useInjector, useMolecule, useScopes };