import { LookUpStrategy } from '../Registries/Constants'; import { TDestroyable, TRegistrable } from '../../Mixins'; import { Observable } from 'rxjs'; import { TAbstractEntityRegistry } from './TAbstractEntityRegistry'; export type TAbstractAsyncEntityRegistry = TAbstractEntityRegistry & Readonly<{ findByName$: (name: string) => Observable; findByNameAsync: (name: string) => Promise; findByTag$: (tag: string) => Observable; findByTagAsync: (tag: string) => Promise; findByTags$: (tags: ReadonlyArray, strategy: LookUpStrategy) => Observable; findByTagsAsync: (tags: ReadonlyArray, strategy: LookUpStrategy) => Promise; getByNameAsync: (name: string) => Promise; getByTagAsync: (tag: string) => Promise; }> & TDestroyable;