KeysWithMethodAndPath<M, P>: {
    [K in keyof Routes]: K extends KeysWithMethods<M>
        ? K extends KeysWithPaths<P>
            ? K
            : never
        : never
}[keyof Routes]

Type Parameters