Type Alias MethodParameters<M, Fn>

MethodParameters: Fn extends "init"
    ? M extends { init: any } ? Parameters<M["init"]> : []
    : Parameters<M[Fn]>

Type Parameters