export interface ParamToCallbacks<T> {
readonly undefined: () => T;
readonly bigNumber: (param: BigNumber) => T;
readonly string: (param: string) => T;
readonly boolean: (param: boolean) => T;
readonly array: (param: ParamArray) => T;
readonly map: (param: ParamMap) => T;
readonly object: (param: ParamObject) => T;
readonly forwardValue: (param: ForwardValue) => T;
} () => T (param: BigNumber) => T (param: string) => T (param: boolean) => T (param: ParamArray) => T (param: ParamMap) => T (param: ParamObject) => T (param: ForwardValue) => T