import { IdenticalObject } from './IdenticalObject'; export interface LifecycleContext { } export interface LifecycleObject extends IdenticalObject { preLoad?(): Promise; init?(ctx: T): Promise; destroy?(ctx: T): Promise; } export interface LifecycleHook> { preCreate?(ctx: T, obj: R): Promise; postCreate?(ctx: T, obj: R): Promise; preDestroy?(ctx: T, obj: R): Promise; }