import type { Binding } from '../binding/Binding.js'; import { AnyProviderResolver } from '../provider/AnyProviderResolver.js'; import type { CustomScopeName, EncapsulatedScope, ScopeFactory, ScopeResolver } from './Scope.js'; import { type ScopeAnchor } from './ScopeAnchor.js'; export type EncapsulatedCustomScope = EncapsulatedScope; export declare function isCustomScope(scope: EncapsulatedScope): scope is EncapsulatedCustomScope; export declare class CustomScopeFactory implements ScopeFactory { create(): EncapsulatedCustomScope; } export type CustomScopeBinding = Binding; export declare class CustomScopeResolver implements ScopeResolver { private readonly providerResolver; constructor(providerResolver: AnyProviderResolver); canResolve(binding: Binding, anchor: unknown): binding is CustomScopeBinding; resolve(binding: CustomScopeBinding, anchor: A | null): V; }