import { ConstructorProvider, ExistingProvider, FactoryProvider, InjectionToken, StaticClassProvider, Type, ValueProvider } from "@angular/core"; export declare type OnlyStaticProvider = ValueProvider | ExistingProvider | StaticClassProvider | ConstructorProvider | FactoryProvider; export interface IOptions { /** * When true the static provider for the tested unit will be skipped. * Only providers for the moq dependencies will be returned. */ skipSelf?: boolean; /** * When true the static providers for optional dependencies are skipped. * The tested unit will receive null value. */ skipOptional?: boolean; } export declare const enum Visibility { None = 0, Self = 1, SkipSelf = 2 } /** * Reflects a dependency metadata. */ export interface IParameter { /** * Dependency token name */ displayName: string; /** * Dependency token */ token: Type | InjectionToken; /** * If marked with @Optional() */ optional: boolean; /** * If marked with @Self() or @SkipSelf() */ visibility: Visibility; }