1 2 3 4 5 6 7 8 9
export type Fork = { use<T>(plugin: Plugin<T>): T; }; export type Plugin<T> = (fork: Fork) => T; export type Def = Plugin<void>; export type Omit<T, K> = Pick<T, Exclude<keyof T, K>>;