Limit Page Types a User/Group has permission to add

Permalink
Right now I have a function in a custom helper file that programatically gives a selected user whitelisted permission to edit a single page. I want to extend this functionality so that a user can Add sub pages to this page -- but I want to limit it so that the user only has one page type option to choose ('calendar_event') as the sub pages. This is the code I have for setting permissions currently:

$pkHandles = array('view_page');
$pkHandles[] = 'edit_page_properties';
$pkHandles[] = 'edit_page_contents';
$pkHandles[] = 'approve_page_versions';
$pkHandles[] = 'delete_page';
$pkHandles[] = 'delete_page_versions';
$pkHandles[] = 'add_subpage';
$p->assignPermissions($ui, $pkHandles);
$p->refreshCache(); // where $p is the Collection/Page Object


Which results in the user having all page types available to them. With advanced permissions I can accomplish this via dashboard by going to "Set Permissions" on the page, clicking on "Add Sub Page Type" text, then the "Details Tab" and changing "Who Can Add What" to only select the calendar event page type for a given user.

Is it possible to do this via API so I can run it in my function with the above code?

Having trouble finding it... Thanks!