UNPKG

@eggjs/tegg-types

Version:
14 lines (13 loc) 689 B
import { EggProtoImplClass, QualifierValue } from './core-decorator/index.js'; export type EggAbstractClazz<T extends object = object> = Function & { prototype: T; }; export type ImplTypeEnum = { [id: string]: QualifierValue; }; export type ImplDecorator<T extends object, Enum extends ImplTypeEnum> = (type: Enum[keyof Enum]) => ((clazz: EggProtoImplClass<T>) => void); export interface EggObjectFactory { getEggObject<T extends object>(abstractClazz: EggAbstractClazz<T>, qualifierValue: QualifierValue): Promise<T>; getEggObjects<T extends object>(abstractClazz: EggAbstractClazz<T>): Promise<AsyncIterable<T>>; } export declare const QUALIFIER_IMPL_MAP: unique symbol;