"use strict";
/* tslint:disable */
/* eslint-disable */
/**
 * authentik
 * Making authentication simple.
 *
 * The version of the OpenAPI document: 2025.8.6
 * Contact: hello@goauthentik.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    var desc = Object.getOwnPropertyDescriptor(m, k);
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
      desc = { enumerable: true, get: function() { return m[k]; } };
    }
    Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
    Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
    o["default"] = v;
});
var __importStar = (this && this.__importStar) || (function () {
    var ownKeys = function(o) {
        ownKeys = Object.getOwnPropertyNames || function (o) {
            var ar = [];
            for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
            return ar;
        };
        return ownKeys(o);
    };
    return function (mod) {
        if (mod && mod.__esModule) return mod;
        var result = {};
        if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
        __setModuleDefault(result, mod);
        return result;
    };
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.RbacPermissionsAssignedByUsersListModelEnum = exports.RbacPermissionsAssignedByRolesListModelEnum = exports.RbacApi = void 0;
const runtime = __importStar(require("../runtime"));
const index_1 = require("../models/index");
/**
 *
 */
class RbacApi extends runtime.BaseAPI {
    /**
     * Creates request options for rbacInitialPermissionsCreate without sending the request
     */
    async rbacInitialPermissionsCreateRequestOpts(requestParameters) {
        if (requestParameters['initialPermissionsRequest'] == null) {
            throw new runtime.RequiredError('initialPermissionsRequest', 'Required parameter "initialPermissionsRequest" was null or undefined when calling rbacInitialPermissionsCreate().');
        }
        const queryParameters = {};
        const headerParameters = {};
        headerParameters['Content-Type'] = 'application/json';
        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("authentik", []);
            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        let urlPath = `/rbac/initial_permissions/`;
        return {
            path: urlPath,
            method: 'POST',
            headers: headerParameters,
            query: queryParameters,
            body: (0, index_1.InitialPermissionsRequestToJSON)(requestParameters['initialPermissionsRequest']),
        };
    }
    /**
     * InitialPermissions viewset
     */
    async rbacInitialPermissionsCreateRaw(requestParameters, initOverrides) {
        const requestOptions = await this.rbacInitialPermissionsCreateRequestOpts(requestParameters);
        const response = await this.request(requestOptions, initOverrides);
        return new runtime.JSONApiResponse(response, (jsonValue) => (0, index_1.InitialPermissionsFromJSON)(jsonValue));
    }
    /**
     * InitialPermissions viewset
     */
    async rbacInitialPermissionsCreate(requestParameters, initOverrides) {
        const response = await this.rbacInitialPermissionsCreateRaw(requestParameters, initOverrides);
        return await response.value();
    }
    /**
     * Creates request options for rbacInitialPermissionsDestroy without sending the request
     */
    async rbacInitialPermissionsDestroyRequestOpts(requestParameters) {
        if (requestParameters['id'] == null) {
            throw new runtime.RequiredError('id', 'Required parameter "id" was null or undefined when calling rbacInitialPermissionsDestroy().');
        }
        const queryParameters = {};
        const headerParameters = {};
        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("authentik", []);
            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        let urlPath = `/rbac/initial_permissions/{id}/`;
        urlPath = urlPath.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id'])));
        return {
            path: urlPath,
            method: 'DELETE',
            headers: headerParameters,
            query: queryParameters,
        };
    }
    /**
     * InitialPermissions viewset
     */
    async rbacInitialPermissionsDestroyRaw(requestParameters, initOverrides) {
        const requestOptions = await this.rbacInitialPermissionsDestroyRequestOpts(requestParameters);
        const response = await this.request(requestOptions, initOverrides);
        return new runtime.VoidApiResponse(response);
    }
    /**
     * InitialPermissions viewset
     */
    async rbacInitialPermissionsDestroy(requestParameters, initOverrides) {
        await this.rbacInitialPermissionsDestroyRaw(requestParameters, initOverrides);
    }
    /**
     * Creates request options for rbacInitialPermissionsList without sending the request
     */
    async rbacInitialPermissionsListRequestOpts(requestParameters) {
        const queryParameters = {};
        if (requestParameters['name'] != null) {
            queryParameters['name'] = requestParameters['name'];
        }
        if (requestParameters['ordering'] != null) {
            queryParameters['ordering'] = requestParameters['ordering'];
        }
        if (requestParameters['page'] != null) {
            queryParameters['page'] = requestParameters['page'];
        }
        if (requestParameters['pageSize'] != null) {
            queryParameters['page_size'] = requestParameters['pageSize'];
        }
        if (requestParameters['search'] != null) {
            queryParameters['search'] = requestParameters['search'];
        }
        const headerParameters = {};
        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("authentik", []);
            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        let urlPath = `/rbac/initial_permissions/`;
        return {
            path: urlPath,
            method: 'GET',
            headers: headerParameters,
            query: queryParameters,
        };
    }
    /**
     * InitialPermissions viewset
     */
    async rbacInitialPermissionsListRaw(requestParameters, initOverrides) {
        const requestOptions = await this.rbacInitialPermissionsListRequestOpts(requestParameters);
        const response = await this.request(requestOptions, initOverrides);
        return new runtime.JSONApiResponse(response, (jsonValue) => (0, index_1.PaginatedInitialPermissionsListFromJSON)(jsonValue));
    }
    /**
     * InitialPermissions viewset
     */
    async rbacInitialPermissionsList(requestParameters = {}, initOverrides) {
        const response = await this.rbacInitialPermissionsListRaw(requestParameters, initOverrides);
        return await response.value();
    }
    /**
     * Creates request options for rbacInitialPermissionsPartialUpdate without sending the request
     */
    async rbacInitialPermissionsPartialUpdateRequestOpts(requestParameters) {
        if (requestParameters['id'] == null) {
            throw new runtime.RequiredError('id', 'Required parameter "id" was null or undefined when calling rbacInitialPermissionsPartialUpdate().');
        }
        const queryParameters = {};
        const headerParameters = {};
        headerParameters['Content-Type'] = 'application/json';
        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("authentik", []);
            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        let urlPath = `/rbac/initial_permissions/{id}/`;
        urlPath = urlPath.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id'])));
        return {
            path: urlPath,
            method: 'PATCH',
            headers: headerParameters,
            query: queryParameters,
            body: (0, index_1.PatchedInitialPermissionsRequestToJSON)(requestParameters['patchedInitialPermissionsRequest']),
        };
    }
    /**
     * InitialPermissions viewset
     */
    async rbacInitialPermissionsPartialUpdateRaw(requestParameters, initOverrides) {
        const requestOptions = await this.rbacInitialPermissionsPartialUpdateRequestOpts(requestParameters);
        const response = await this.request(requestOptions, initOverrides);
        return new runtime.JSONApiResponse(response, (jsonValue) => (0, index_1.InitialPermissionsFromJSON)(jsonValue));
    }
    /**
     * InitialPermissions viewset
     */
    async rbacInitialPermissionsPartialUpdate(requestParameters, initOverrides) {
        const response = await this.rbacInitialPermissionsPartialUpdateRaw(requestParameters, initOverrides);
        return await response.value();
    }
    /**
     * Creates request options for rbacInitialPermissionsRetrieve without sending the request
     */
    async rbacInitialPermissionsRetrieveRequestOpts(requestParameters) {
        if (requestParameters['id'] == null) {
            throw new runtime.RequiredError('id', 'Required parameter "id" was null or undefined when calling rbacInitialPermissionsRetrieve().');
        }
        const queryParameters = {};
        const headerParameters = {};
        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("authentik", []);
            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        let urlPath = `/rbac/initial_permissions/{id}/`;
        urlPath = urlPath.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id'])));
        return {
            path: urlPath,
            method: 'GET',
            headers: headerParameters,
            query: queryParameters,
        };
    }
    /**
     * InitialPermissions viewset
     */
    async rbacInitialPermissionsRetrieveRaw(requestParameters, initOverrides) {
        const requestOptions = await this.rbacInitialPermissionsRetrieveRequestOpts(requestParameters);
        const response = await this.request(requestOptions, initOverrides);
        return new runtime.JSONApiResponse(response, (jsonValue) => (0, index_1.InitialPermissionsFromJSON)(jsonValue));
    }
    /**
     * InitialPermissions viewset
     */
    async rbacInitialPermissionsRetrieve(requestParameters, initOverrides) {
        const response = await this.rbacInitialPermissionsRetrieveRaw(requestParameters, initOverrides);
        return await response.value();
    }
    /**
     * Creates request options for rbacInitialPermissionsUpdate without sending the request
     */
    async rbacInitialPermissionsUpdateRequestOpts(requestParameters) {
        if (requestParameters['id'] == null) {
            throw new runtime.RequiredError('id', 'Required parameter "id" was null or undefined when calling rbacInitialPermissionsUpdate().');
        }
        if (requestParameters['initialPermissionsRequest'] == null) {
            throw new runtime.RequiredError('initialPermissionsRequest', 'Required parameter "initialPermissionsRequest" was null or undefined when calling rbacInitialPermissionsUpdate().');
        }
        const queryParameters = {};
        const headerParameters = {};
        headerParameters['Content-Type'] = 'application/json';
        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("authentik", []);
            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        let urlPath = `/rbac/initial_permissions/{id}/`;
        urlPath = urlPath.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id'])));
        return {
            path: urlPath,
            method: 'PUT',
            headers: headerParameters,
            query: queryParameters,
            body: (0, index_1.InitialPermissionsRequestToJSON)(requestParameters['initialPermissionsRequest']),
        };
    }
    /**
     * InitialPermissions viewset
     */
    async rbacInitialPermissionsUpdateRaw(requestParameters, initOverrides) {
        const requestOptions = await this.rbacInitialPermissionsUpdateRequestOpts(requestParameters);
        const response = await this.request(requestOptions, initOverrides);
        return new runtime.JSONApiResponse(response, (jsonValue) => (0, index_1.InitialPermissionsFromJSON)(jsonValue));
    }
    /**
     * InitialPermissions viewset
     */
    async rbacInitialPermissionsUpdate(requestParameters, initOverrides) {
        const response = await this.rbacInitialPermissionsUpdateRaw(requestParameters, initOverrides);
        return await response.value();
    }
    /**
     * Creates request options for rbacInitialPermissionsUsedByList without sending the request
     */
    async rbacInitialPermissionsUsedByListRequestOpts(requestParameters) {
        if (requestParameters['id'] == null) {
            throw new runtime.RequiredError('id', 'Required parameter "id" was null or undefined when calling rbacInitialPermissionsUsedByList().');
        }
        const queryParameters = {};
        const headerParameters = {};
        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("authentik", []);
            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        let urlPath = `/rbac/initial_permissions/{id}/used_by/`;
        urlPath = urlPath.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id'])));
        return {
            path: urlPath,
            method: 'GET',
            headers: headerParameters,
            query: queryParameters,
        };
    }
    /**
     * Get a list of all objects that use this object
     */
    async rbacInitialPermissionsUsedByListRaw(requestParameters, initOverrides) {
        const requestOptions = await this.rbacInitialPermissionsUsedByListRequestOpts(requestParameters);
        const response = await this.request(requestOptions, initOverrides);
        return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(index_1.UsedByFromJSON));
    }
    /**
     * Get a list of all objects that use this object
     */
    async rbacInitialPermissionsUsedByList(requestParameters, initOverrides) {
        const response = await this.rbacInitialPermissionsUsedByListRaw(requestParameters, initOverrides);
        return await response.value();
    }
    /**
     * Creates request options for rbacPermissionsAssignedByRolesAssign without sending the request
     */
    async rbacPermissionsAssignedByRolesAssignRequestOpts(requestParameters) {
        if (requestParameters['uuid'] == null) {
            throw new runtime.RequiredError('uuid', 'Required parameter "uuid" was null or undefined when calling rbacPermissionsAssignedByRolesAssign().');
        }
        if (requestParameters['permissionAssignRequest'] == null) {
            throw new runtime.RequiredError('permissionAssignRequest', 'Required parameter "permissionAssignRequest" was null or undefined when calling rbacPermissionsAssignedByRolesAssign().');
        }
        const queryParameters = {};
        const headerParameters = {};
        headerParameters['Content-Type'] = 'application/json';
        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("authentik", []);
            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        let urlPath = `/rbac/permissions/assigned_by_roles/{uuid}/assign/`;
        urlPath = urlPath.replace(`{${"uuid"}}`, encodeURIComponent(String(requestParameters['uuid'])));
        return {
            path: urlPath,
            method: 'POST',
            headers: headerParameters,
            query: queryParameters,
            body: (0, index_1.PermissionAssignRequestToJSON)(requestParameters['permissionAssignRequest']),
        };
    }
    /**
     * Assign permission(s) to role. When `object_pk` is set, the permissions are only assigned to the specific object, otherwise they are assigned globally.
     */
    async rbacPermissionsAssignedByRolesAssignRaw(requestParameters, initOverrides) {
        const requestOptions = await this.rbacPermissionsAssignedByRolesAssignRequestOpts(requestParameters);
        const response = await this.request(requestOptions, initOverrides);
        return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(index_1.PermissionAssignResultFromJSON));
    }
    /**
     * Assign permission(s) to role. When `object_pk` is set, the permissions are only assigned to the specific object, otherwise they are assigned globally.
     */
    async rbacPermissionsAssignedByRolesAssign(requestParameters, initOverrides) {
        const response = await this.rbacPermissionsAssignedByRolesAssignRaw(requestParameters, initOverrides);
        return await response.value();
    }
    /**
     * Creates request options for rbacPermissionsAssignedByRolesList without sending the request
     */
    async rbacPermissionsAssignedByRolesListRequestOpts(requestParameters) {
        if (requestParameters['model'] == null) {
            throw new runtime.RequiredError('model', 'Required parameter "model" was null or undefined when calling rbacPermissionsAssignedByRolesList().');
        }
        const queryParameters = {};
        if (requestParameters['model'] != null) {
            queryParameters['model'] = requestParameters['model'];
        }
        if (requestParameters['objectPk'] != null) {
            queryParameters['object_pk'] = requestParameters['objectPk'];
        }
        if (requestParameters['ordering'] != null) {
            queryParameters['ordering'] = requestParameters['ordering'];
        }
        if (requestParameters['page'] != null) {
            queryParameters['page'] = requestParameters['page'];
        }
        if (requestParameters['pageSize'] != null) {
            queryParameters['page_size'] = requestParameters['pageSize'];
        }
        if (requestParameters['search'] != null) {
            queryParameters['search'] = requestParameters['search'];
        }
        const headerParameters = {};
        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("authentik", []);
            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        let urlPath = `/rbac/permissions/assigned_by_roles/`;
        return {
            path: urlPath,
            method: 'GET',
            headers: headerParameters,
            query: queryParameters,
        };
    }
    /**
     * Get assigned object permissions for a single object
     */
    async rbacPermissionsAssignedByRolesListRaw(requestParameters, initOverrides) {
        const requestOptions = await this.rbacPermissionsAssignedByRolesListRequestOpts(requestParameters);
        const response = await this.request(requestOptions, initOverrides);
        return new runtime.JSONApiResponse(response, (jsonValue) => (0, index_1.PaginatedRoleAssignedObjectPermissionListFromJSON)(jsonValue));
    }
    /**
     * Get assigned object permissions for a single object
     */
    async rbacPermissionsAssignedByRolesList(requestParameters, initOverrides) {
        const response = await this.rbacPermissionsAssignedByRolesListRaw(requestParameters, initOverrides);
        return await response.value();
    }
    /**
     * Creates request options for rbacPermissionsAssignedByRolesUnassignPartialUpdate without sending the request
     */
    async rbacPermissionsAssignedByRolesUnassignPartialUpdateRequestOpts(requestParameters) {
        if (requestParameters['uuid'] == null) {
            throw new runtime.RequiredError('uuid', 'Required parameter "uuid" was null or undefined when calling rbacPermissionsAssignedByRolesUnassignPartialUpdate().');
        }
        const queryParameters = {};
        const headerParameters = {};
        headerParameters['Content-Type'] = 'application/json';
        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("authentik", []);
            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        let urlPath = `/rbac/permissions/assigned_by_roles/{uuid}/unassign/`;
        urlPath = urlPath.replace(`{${"uuid"}}`, encodeURIComponent(String(requestParameters['uuid'])));
        return {
            path: urlPath,
            method: 'PATCH',
            headers: headerParameters,
            query: queryParameters,
            body: (0, index_1.PatchedPermissionAssignRequestToJSON)(requestParameters['patchedPermissionAssignRequest']),
        };
    }
    /**
     * Unassign permission(s) to role. When `object_pk` is set, the permissions are only assigned to the specific object, otherwise they are assigned globally.
     */
    async rbacPermissionsAssignedByRolesUnassignPartialUpdateRaw(requestParameters, initOverrides) {
        const requestOptions = await this.rbacPermissionsAssignedByRolesUnassignPartialUpdateRequestOpts(requestParameters);
        const response = await this.request(requestOptions, initOverrides);
        return new runtime.VoidApiResponse(response);
    }
    /**
     * Unassign permission(s) to role. When `object_pk` is set, the permissions are only assigned to the specific object, otherwise they are assigned globally.
     */
    async rbacPermissionsAssignedByRolesUnassignPartialUpdate(requestParameters, initOverrides) {
        await this.rbacPermissionsAssignedByRolesUnassignPartialUpdateRaw(requestParameters, initOverrides);
    }
    /**
     * Creates request options for rbacPermissionsAssignedByUsersAssign without sending the request
     */
    async rbacPermissionsAssignedByUsersAssignRequestOpts(requestParameters) {
        if (requestParameters['id'] == null) {
            throw new runtime.RequiredError('id', 'Required parameter "id" was null or undefined when calling rbacPermissionsAssignedByUsersAssign().');
        }
        if (requestParameters['permissionAssignRequest'] == null) {
            throw new runtime.RequiredError('permissionAssignRequest', 'Required parameter "permissionAssignRequest" was null or undefined when calling rbacPermissionsAssignedByUsersAssign().');
        }
        const queryParameters = {};
        const headerParameters = {};
        headerParameters['Content-Type'] = 'application/json';
        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("authentik", []);
            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        let urlPath = `/rbac/permissions/assigned_by_users/{id}/assign/`;
        urlPath = urlPath.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id'])));
        return {
            path: urlPath,
            method: 'POST',
            headers: headerParameters,
            query: queryParameters,
            body: (0, index_1.PermissionAssignRequestToJSON)(requestParameters['permissionAssignRequest']),
        };
    }
    /**
     * Assign permission(s) to user
     */
    async rbacPermissionsAssignedByUsersAssignRaw(requestParameters, initOverrides) {
        const requestOptions = await this.rbacPermissionsAssignedByUsersAssignRequestOpts(requestParameters);
        const response = await this.request(requestOptions, initOverrides);
        return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(index_1.PermissionAssignResultFromJSON));
    }
    /**
     * Assign permission(s) to user
     */
    async rbacPermissionsAssignedByUsersAssign(requestParameters, initOverrides) {
        const response = await this.rbacPermissionsAssignedByUsersAssignRaw(requestParameters, initOverrides);
        return await response.value();
    }
    /**
     * Creates request options for rbacPermissionsAssignedByUsersList without sending the request
     */
    async rbacPermissionsAssignedByUsersListRequestOpts(requestParameters) {
        if (requestParameters['model'] == null) {
            throw new runtime.RequiredError('model', 'Required parameter "model" was null or undefined when calling rbacPermissionsAssignedByUsersList().');
        }
        const queryParameters = {};
        if (requestParameters['model'] != null) {
            queryParameters['model'] = requestParameters['model'];
        }
        if (requestParameters['objectPk'] != null) {
            queryParameters['object_pk'] = requestParameters['objectPk'];
        }
        if (requestParameters['ordering'] != null) {
            queryParameters['ordering'] = requestParameters['ordering'];
        }
        if (requestParameters['page'] != null) {
            queryParameters['page'] = requestParameters['page'];
        }
        if (requestParameters['pageSize'] != null) {
            queryParameters['page_size'] = requestParameters['pageSize'];
        }
        if (requestParameters['search'] != null) {
            queryParameters['search'] = requestParameters['search'];
        }
        const headerParameters = {};
        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("authentik", []);
            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        let urlPath = `/rbac/permissions/assigned_by_users/`;
        return {
            path: urlPath,
            method: 'GET',
            headers: headerParameters,
            query: queryParameters,
        };
    }
    /**
     * Get assigned object permissions for a single object
     */
    async rbacPermissionsAssignedByUsersListRaw(requestParameters, initOverrides) {
        const requestOptions = await this.rbacPermissionsAssignedByUsersListRequestOpts(requestParameters);
        const response = await this.request(requestOptions, initOverrides);
        return new runtime.JSONApiResponse(response, (jsonValue) => (0, index_1.PaginatedUserAssignedObjectPermissionListFromJSON)(jsonValue));
    }
    /**
     * Get assigned object permissions for a single object
     */
    async rbacPermissionsAssignedByUsersList(requestParameters, initOverrides) {
        const response = await this.rbacPermissionsAssignedByUsersListRaw(requestParameters, initOverrides);
        return await response.value();
    }
    /**
     * Creates request options for rbacPermissionsAssignedByUsersUnassignPartialUpdate without sending the request
     */
    async rbacPermissionsAssignedByUsersUnassignPartialUpdateRequestOpts(requestParameters) {
        if (requestParameters['id'] == null) {
            throw new runtime.RequiredError('id', 'Required parameter "id" was null or undefined when calling rbacPermissionsAssignedByUsersUnassignPartialUpdate().');
        }
        const queryParameters = {};
        const headerParameters = {};
        headerParameters['Content-Type'] = 'application/json';
        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("authentik", []);
            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        let urlPath = `/rbac/permissions/assigned_by_users/{id}/unassign/`;
        urlPath = urlPath.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id'])));
        return {
            path: urlPath,
            method: 'PATCH',
            headers: headerParameters,
            query: queryParameters,
            body: (0, index_1.PatchedPermissionAssignRequestToJSON)(requestParameters['patchedPermissionAssignRequest']),
        };
    }
    /**
     * Unassign permission(s) to user. When `object_pk` is set, the permissions are only assigned to the specific object, otherwise they are assigned globally.
     */
    async rbacPermissionsAssignedByUsersUnassignPartialUpdateRaw(requestParameters, initOverrides) {
        const requestOptions = await this.rbacPermissionsAssignedByUsersUnassignPartialUpdateRequestOpts(requestParameters);
        const response = await this.request(requestOptions, initOverrides);
        return new runtime.VoidApiResponse(response);
    }
    /**
     * Unassign permission(s) to user. When `object_pk` is set, the permissions are only assigned to the specific object, otherwise they are assigned globally.
     */
    async rbacPermissionsAssignedByUsersUnassignPartialUpdate(requestParameters, initOverrides) {
        await this.rbacPermissionsAssignedByUsersUnassignPartialUpdateRaw(requestParameters, initOverrides);
    }
    /**
     * Creates request options for rbacPermissionsList without sending the request
     */
    async rbacPermissionsListRequestOpts(requestParameters) {
        const queryParameters = {};
        if (requestParameters['codename'] != null) {
            queryParameters['codename'] = requestParameters['codename'];
        }
        if (requestParameters['contentTypeAppLabel'] != null) {
            queryParameters['content_type__app_label'] = requestParameters['contentTypeAppLabel'];
        }
        if (requestParameters['contentTypeModel'] != null) {
            queryParameters['content_type__model'] = requestParameters['contentTypeModel'];
        }
        if (requestParameters['ordering'] != null) {
            queryParameters['ordering'] = requestParameters['ordering'];
        }
        if (requestParameters['page'] != null) {
            queryParameters['page'] = requestParameters['page'];
        }
        if (requestParameters['pageSize'] != null) {
            queryParameters['page_size'] = requestParameters['pageSize'];
        }
        if (requestParameters['role'] != null) {
            queryParameters['role'] = requestParameters['role'];
        }
        if (requestParameters['search'] != null) {
            queryParameters['search'] = requestParameters['search'];
        }
        if (requestParameters['user'] != null) {
            queryParameters['user'] = requestParameters['user'];
        }
        const headerParameters = {};
        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("authentik", []);
            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        let urlPath = `/rbac/permissions/`;
        return {
            path: urlPath,
            method: 'GET',
            headers: headerParameters,
            query: queryParameters,
        };
    }
    /**
     * Read-only list of all permissions, filterable by model and app
     */
    async rbacPermissionsListRaw(requestParameters, initOverrides) {
        const requestOptions = await this.rbacPermissionsListRequestOpts(requestParameters);
        const response = await this.request(requestOptions, initOverrides);
        return new runtime.JSONApiResponse(response, (jsonValue) => (0, index_1.PaginatedPermissionListFromJSON)(jsonValue));
    }
    /**
     * Read-only list of all permissions, filterable by model and app
     */
    async rbacPermissionsList(requestParameters = {}, initOverrides) {
        const response = await this.rbacPermissionsListRaw(requestParameters, initOverrides);
        return await response.value();
    }
    /**
     * Creates request options for rbacPermissionsRetrieve without sending the request
     */
    async rbacPermissionsRetrieveRequestOpts(requestParameters) {
        if (requestParameters['id'] == null) {
            throw new runtime.RequiredError('id', 'Required parameter "id" was null or undefined when calling rbacPermissionsRetrieve().');
        }
        const queryParameters = {};
        const headerParameters = {};
        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("authentik", []);
            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        let urlPath = `/rbac/permissions/{id}/`;
        urlPath = urlPath.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id'])));
        return {
            path: urlPath,
            method: 'GET',
            headers: headerParameters,
            query: queryParameters,
        };
    }
    /**
     * Read-only list of all permissions, filterable by model and app
     */
    async rbacPermissionsRetrieveRaw(requestParameters, initOverrides) {
        const requestOptions = await this.rbacPermissionsRetrieveRequestOpts(requestParameters);
        const response = await this.request(requestOptions, initOverrides);
        return new runtime.JSONApiResponse(response, (jsonValue) => (0, index_1.PermissionFromJSON)(jsonValue));
    }
    /**
     * Read-only list of all permissions, filterable by model and app
     */
    async rbacPermissionsRetrieve(requestParameters, initOverrides) {
        const response = await this.rbacPermissionsRetrieveRaw(requestParameters, initOverrides);
        return await response.value();
    }
    /**
     * Creates request options for rbacPermissionsRolesDestroy without sending the request
     */
    async rbacPermissionsRolesDestroyRequestOpts(requestParameters) {
        if (requestParameters['id'] == null) {
            throw new runtime.RequiredError('id', 'Required parameter "id" was null or undefined when calling rbacPermissionsRolesDestroy().');
        }
        const queryParameters = {};
        const headerParameters = {};
        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("authentik", []);
            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        let urlPath = `/rbac/permissions/roles/{id}/`;
        urlPath = urlPath.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id'])));
        return {
            path: urlPath,
            method: 'DELETE',
            headers: headerParameters,
            query: queryParameters,
        };
    }
    /**
     * Get a role\'s assigned object permissions
     */
    async rbacPermissionsRolesDestroyRaw(requestParameters, initOverrides) {
        const requestOptions = await this.rbacPermissionsRolesDestroyRequestOpts(requestParameters);
        const response = await this.request(requestOptions, initOverrides);
        return new runtime.VoidApiResponse(response);
    }
    /**
     * Get a role\'s assigned object permissions
     */
    async rbacPermissionsRolesDestroy(requestParameters, initOverrides) {
        await this.rbacPermissionsRolesDestroyRaw(requestParameters, initOverrides);
    }
    /**
     * Creates request options for rbacPermissionsRolesList without sending the request
     */
    async rbacPermissionsRolesListRequestOpts(requestParameters) {
        const queryParameters = {};
        if (requestParameters['ordering'] != null) {
            queryParameters['ordering'] = requestParameters['ordering'];
        }
        if (requestParameters['page'] != null) {
            queryParameters['page'] = requestParameters['page'];
        }
        if (requestParameters['pageSize'] != null) {
            queryParameters['page_size'] = requestParameters['pageSize'];
        }
        if (requestParameters['search'] != null) {
            queryParameters['search'] = requestParameters['search'];
        }
        if (requestParameters['uuid'] != null) {
            queryParameters['uuid'] = requestParameters['uuid'];
        }
        const headerParameters = {};
        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("authentik", []);
            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        let urlPath = `/rbac/permissions/roles/`;
        return {
            path: urlPath,
            method: 'GET',
            headers: headerParameters,
            query: queryParameters,
        };
    }
    /**
     * Get a role\'s assigned object permissions
     */
    async rbacPermissionsRolesListRaw(requestParameters, initOverrides) {
        const requestOptions = await this.rbacPermissionsRolesListRequestOpts(requestParameters);
        const response = await this.request(requestOptions, initOverrides);
        return new runtime.JSONApiResponse(response, (jsonValue) => (0, index_1.PaginatedExtraRoleObjectPermissionListFromJSON)(jsonValue));
    }
    /**
     * Get a role\'s assigned object permissions
     */
    async rbacPermissionsRolesList(requestParameters = {}, initOverrides) {
        const response = await this.rbacPermissionsRolesListRaw(requestParameters, initOverrides);
        return await response.value();
    }
    /**
     * Creates request options for rbacPermissionsRolesPartialUpdate without sending the request
     */
    async rbacPermissionsRolesPartialUpdateRequestOpts(requestParameters) {
        if (requestParameters['id'] == null) {
            throw new runtime.RequiredError('id', 'Required parameter "id" was null or undefined when calling rbacPermissionsRolesPartialUpdate().');
        }
        const queryParameters = {};
        const headerParameters = {};
        headerParameters['Content-Type'] = 'application/json';
        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("authentik", []);
            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        let urlPath = `/rbac/permissions/roles/{id}/`;
        urlPath = urlPath.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id'])));
        return {
            path: urlPath,
            method: 'PATCH',
            headers: headerParameters,
            query: queryParameters,
            body: (0, index_1.PatchedExtraRoleObjectPermissionRequestToJSON)(requestParameters['patchedExtraRoleObjectPermissionRequest']),
        };
    }
    /**
     * Get a role\'s assigned object permissions
     */
    async rbacPermissionsRolesPartialUpdateRaw(requestParameters, initOverrides) {
        const requestOptions = await this.rbacPermissionsRolesPartialUpdateRequestOpts(requestParameters);
        const response = await this.request(requestOptions, initOverrides);
        return new runtime.JSONApiResponse(response, (jsonValue) => (0, index_1.ExtraRoleObjectPermissionFromJSON)(jsonValue));
    }
    /**
     * Get a role\'s assigned object permissions
     */
    async rbacPermissionsRolesPartialUpdate(requestParameters, initOverrides) {
        const response = await this.rbacPermissionsRolesPartialUpdateRaw(requestParameters, initOverrides);
        return await response.value();
    }
    /**
     * Creates request options for rbacPermissionsRolesRetrieve without sending the request
     */
    async rbacPermissionsRolesRetrieveRequestOpts(requestParameters) {
        if (requestParameters['id'] == null) {
            throw new runtime.RequiredError('id', 'Required parameter "id" was null or undefined when calling rbacPermissionsRolesRetrieve().');
        }
        const queryParameters = {};
        const headerParameters = {};
        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("authentik", []);
            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        let urlPath = `/rbac/permissions/roles/{id}/`;
        urlPath = urlPath.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id'])));
        return {
            path: urlPath,
            method: 'GET',
            headers: headerParameters,
            query: queryParameters,
        };
    }
    /**
     * Get a role\'s assigned object permissions
     */
    async rbacPermissionsRolesRetrieveRaw(requestParameters, initOverrides) {
        const requestOptions = await this.rbacPermissionsRolesRetrieveRequestOpts(requestParameters);
        const response = await this.request(requestOptions, initOverrides);
        return new runtime.JSONApiResponse(response, (jsonValue) => (0, index_1.ExtraRoleObjectPermissionFromJSON)(jsonValue));
    }
    /**
     * Get a role\'s assigned object permissions
     */
    async rbacPermissionsRolesRetrieve(requestParameters, initOverrides) {
        const response = await this.rbacPermissionsRolesRetrieveRaw(requestParameters, initOverrides);
        return await response.value();
    }
    /**
     * Creates request options for rbacPermissionsRolesUpdate without sending the request
     */
    async rbacPermissionsRolesUpdateRequestOpts(requestParameters) {
        if (requestParameters['id'] == null) {
            throw new runtime.RequiredError('id', 'Required parameter "id" was null or undefined when calling rbacPermissionsRolesUpdate().');
        }
        if (requestParameters['extraRoleObjectPermissionRequest'] == null) {
            throw new runtime.RequiredError('extraRoleObjectPermissionRequest', 'Required parameter "extraRoleObjectPermissionRequest" was null or undefined when calling rbacPermissionsRolesUpdate().');
        }
        const queryParameters = {};
        const headerParameters = {};
        headerParameters['Content-Type'] = 'application/json';
        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("authentik", []);
            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        let urlPath = `/rbac/permissions/roles/{id}/`;
        urlPath = urlPath.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id'])));
        return {
            path: urlPath,
            method: 'PUT',
            headers: headerParameters,
            query: queryParameters,
            body: (0, index_1.ExtraRoleObjectPermissionRequestToJSON)(requestParameters['extraRoleObjectPermissionRequest']),
        };
    }
    /**
     * Get a role\'s assigned object permissions
     */
    async rbacPermissionsRolesUpdateRaw(requestParameters, initOverrides) {
        const requestOptions = await this.rbacPermissionsRolesUpdateRequestOpts(requestParameters);
        const response = await this.request(requestOptions, initOverrides);
        return new runtime.JSONApiResponse(response, (jsonValue) => (0, index_1.ExtraRoleObjectPermissionFromJSON)(jsonValue));
    }
    /**
     * Get a role\'s assigned object permissions
     */
    async rbacPermissionsRolesUpdate(requestParameters, initOverrides) {
        const response = await this.rbacPermissionsRolesUpdateRaw(requestParameters, initOverrides);
        return await response.value();
    }
    /**
     * Creates request options for rbacPermissionsUsersDestroy without sending the request
     */
    async rbacPermissionsUsersDestroyRequestOpts(requestParameters) {
        if (requestParameters['id'] == null) {
            throw new runtime.RequiredError('id', 'Required parameter "id" was null or undefined when calling rbacPermissionsUsersDestroy().');
        }
        const queryParameters = {};
        const headerParameters = {};
        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("authentik", []);
            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        let urlPath = `/rbac/permissions/users/{id}/`;
        urlPath = urlPath.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id'])));
        return {
            path: urlPath,
            method: 'DELETE',
            headers: headerParameters,
            query: queryParameters,
        };
    }
    /**
     * Get a users\'s assigned object permissions
     */
    async rbacPermissionsUsersDestroyRaw(requestParameters, initOverrides) {
        const requestOptions = await this.rbacPermissionsUsersDestroyRequestOpts(requestParameters);
        const response = await this.request(requestOptions, initOverrides);
        return new runtime.VoidApiResponse(response);
    }
    /**
     * Get a users\'s assigned object permissions
     */
    async rbacPermissionsUsersDestroy(requestParameters, initOverrides) {
        await this.rbacPermissionsUsersDestroyRaw(requestParameters, initOverrides);
    }
    /**
     * Creates request options for rbacPermissionsUsersList without sending the request
     */
    async rbacPermissionsUsersListRequestOpts(requestParameters) {
        const queryParameters = {};
        if (requestParameters['ordering'] != null) {
            queryParameters['ordering'] = requestParameters['ordering'];
        }
        if (requestParameters['page'] != null) {
            queryParameters['page'] = requestParameters['page'];
        }
        if (requestParameters['pageSize'] != null) {
            queryParameters['page_size'] = requestParameters['pageSize'];
        }
        if (requestParameters['search'] != null) {
            queryParameters['search'] = requestParameters['search'];
        }
        if (requestParameters['userId'] != null) {
            queryParameters['user_id'] = requestParameters['userId'];
        }
        const headerParameters = {};
        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("authentik", []);
            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        let urlPath = `/rbac/permissions/users/`;
        return {
            path: urlPath,
            method: 'GET',
            headers: headerParameters,
            query: queryParameters,
        };
    }
    /**
     * Get a users\'s assigned object permissions
     */
    async rbacPermissionsUsersListRaw(requestParameters, initOverrides) {
        const requestOptions = await this.rbacPermissionsUsersListRequestOpts(requestParameters);
        const response = await this.request(requestOptions, initOverrides);
        return new runtime.JSONApiResponse(response, (jsonValue) => (0, index_1.PaginatedExtraUserObjectPermissionListFromJSON)(jsonValue));
    }
    /**
     * Get a users\'s assigned object permissions
     */
    async rbacPermissionsUsersList(requestParameters = {}, initOverrides) {
        const response = await this.rbacPermissionsUsersListRaw(requestParameters, initOverrides);
        return await response.value();
    }
    /**
     * Creates request options for rbacPermissionsUsersPartialUpdate without sending the request
     */
    async rbacPermissionsUsersPartialUpdateRequestOpts(requestParameters) {
        if (requestParameters['id'] == null) {
            throw new runtime.RequiredError('id', 'Required parameter "id" was null or undefined when calling rbacPermissionsUsersPartialUpdate().');
        }
        const queryParameters = {};
        const headerParameters = {};
        headerParameters['Content-Type'] = 'application/json';
        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("authentik", []);
            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        let urlPath = `/rbac/permissions/users/{id}/`;
        urlPath = urlPath.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id'])));
        return {
            path: urlPath,
            method: 'PATCH',
            headers: headerParameters,
            query: queryParameters,
            body: (0, index_1.PatchedExtraUserObjectPermissionRequestToJSON)(requestParameters['patchedExtraUserObjectPermissionRequest']),
        };
    }
    /**
     * Get a users\'s assigned object permissions
     */
    async rbacPermissionsUsersPartialUpdateRaw(requestParameters, initOverrides) {
        const requestOptions = await this.rbacPermissionsUsersPartialUpdateRequestOpts(requestParameters);
        const response = await this.request(requestOptions, initOverrides);
        return new runtime.JSONApiResponse(response, (jsonValue) => (0, index_1.ExtraUserObjectPermissionFromJSON)(jsonValue));
    }
    /**
     * Get a users\'s assigned object permissions
     */
    async rbacPermissionsUsersPartialUpdate(requestParameters, initOverrides) {
        const response = await this.rbacPermissionsUsersPartialUpdateRaw(requestParameters, initOverrides);
        return await response.value();
    }
    /**
     * Creates request options for rbacPermissionsUsersRetrieve without sending the request
     */
    async rbacPermissionsUsersRetrieveRequestOpts(requestParameters) {
        if (requestParameters['id'] == null) {
            throw new runtime.RequiredError('id', 'Required parameter "id" was null or undefined when calling rbacPermissionsUsersRetrieve().');
        }
        const queryParameters = {};
        const headerParameters = {};
        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("authentik", []);
            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        let urlPath = `/rbac/permissions/users/{id}/`;
        urlPath = urlPath.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id'])));
        return {
            path: urlPath,
            method: 'GET',
            headers: headerParameters,
            query: queryParameters,
        };
    }
    /**
     * Get a users\'s assigned object permissions
     */
    async rbacPermissionsUsersRetrieveRaw(requestParameters, initOverrides) {
        const requestOptions = await this.rbacPermissionsUsersRetrieveRequestOpts(requestParameters);
        const response = await this.request(requestOptions, initOverrides);
        return new runtime.JSONApiResponse(response, (jsonValue) => (0, index_1.ExtraUserObjectPermissionFromJSON)(jsonValue));
    }
    /**
     * Get a users\'s assigned object permissions
     */
    async rbacPermissionsUsersRetrieve(requestParameters, initOverrides) {
        const response = await this.rbacPermissionsUsersRetrieveRaw(requestParameters, initOverrides);
        return await response.value();
    }
    /**
     * Creates request options for rbacPermissionsUsersUpdate without sending the request
     */
    async rbacPermissionsUsersUpdateRequestOpts(requestParameters) {
        if (requestParameters['id'] == null) {
            throw new runtime.RequiredError('id', 'Required parameter "id" was null or undefined when calling rbacPermissionsUsersUpdate().');
        }
        if (requestParameters['extraUserObjectPermissionRequest'] == null) {
            throw new runtime.RequiredError('extraUserObjectPermissionRequest', 'Required parameter "extraUserObjectPermissionRequest" was null or undefined when calling rbacPermissionsUsersUpdate().');
        }
        const queryParameters = {};
        const headerParameters = {};
        headerParameters['Content-Type'] = 'application/json';
        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("authentik", []);
            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        let urlPath = `/rbac/permissions/users/{id}/`;
        urlPath = urlPath.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id'])));
        return {
            path: urlPath,
            method: 'PUT',
            headers: headerParameters,
            query: queryParameters,
            body: (0, index_1.ExtraUserObjectPermissionRequestToJSON)(requestParameters['extraUserObjectPermissionRequest']),
        };
    }
    /**
     * Get a users\'s assigned object permissions
     */
    async rbacPermissionsUsersUpdateRaw(requestParameters, initOverrides) {
        const requestOptions = await this.rbacPermissionsUsersUpdateRequestOpts(requestParameters);
        const response = await this.request(requestOptions, initOverrides);
        return new runtime.JSONApiResponse(response, (jsonValue) => (0, index_1.ExtraUserObjectPermissionFromJSON)(jsonValue));
    }
    /**
     * Get a users\'s assigned object permissions
     */
    async rbacPermissionsUsersUpdate(requestParameters, initOverrides) {
        const response = await this.rbacPermissionsUsersUpdateRaw(requestParameters, initOverrides);
        return await response.value();
    }
    /**
     * Creates request options for rbacRolesCreate without sending the request
     */
    async rbacRolesCreateRequestOpts(requestParameters) {
        if (requestParameters['roleRequest'] == null) {
            throw new runtime.RequiredError('roleRequest', 'Required parameter "roleRequest" was null or undefined when calling rbacRolesCreate().');
        }
        const queryParameters = {};
        const headerParameters = {};
        headerParameters['Content-Type'] = 'application/json';
        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("authentik", []);
            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        let urlPath = `/rbac/roles/`;
        return {
            path: urlPath,
            method: 'POST',
            headers: headerParameters,
            query: queryParameters,
            body: (0, index_1.RoleRequestToJSON)(requestParameters['roleRequest']),
        };
    }
    /**
     * Role viewset
     */
    async rbacRolesCreateRaw(requestParameters, initOverrides) {
        const requestOptions = await this.rbacRolesCreateRequestOpts(requestParameters);
        const response = await this.request(requestOptions, initOverrides);
        return new runtime.JSONApiResponse(response, (jsonValue) => (0, index_1.RoleFromJSON)(jsonValue));
    }
    /**
     * Role viewset
     */
    async rbacRolesCreate(requestParameters, initOverrides) {
        const response = await this.rbacRolesCreateRaw(requestParameters, initOverrides);
        return await response.value();
    }
    /**
     * Creates request options for rbacRolesDestroy without sending the request
     */
    async rbacRolesDestroyRequestOpts(requestParameters) {
        if (requestParameters['uuid'] == null) {
            throw new runtime.RequiredError('uuid', 'Required parameter "uuid" was null or undefined when calling rbacRolesDestroy().');
        }
        const queryParameters = {};
        const headerParameters = {};
        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("authentik", []);
            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        let urlPath = `/rbac/roles/{uuid}/`;
        urlPath = urlPath.replace(`{${"uuid"}}`, encodeURIComponent(String(requestParameters['uuid'])));
        return {
            path: urlPath,
            method: 'DELETE',
            headers: headerParameters,
            query: queryParameters,
        };
    }
    /**
     * Role viewset
     */
    async rbacRolesDestroyRaw(requestParameters, initOverrides) {
        const requestOptions = await this.rbacRolesDestroyRequestOpts(requestParameters);
        const response = await this.request(requestOptions, initOverrides);
        return new runtime.VoidApiResponse(response);
    }
    /**
     * Role viewset
     */
    async rbacRolesDestroy(requestParameters, initOverrides) {
        await this.rbacRolesDestroyRaw(requestParameters, initOverrides);
    }
    /**
     * Creates request options for rbacRolesList without sending the request
     */
    async rbacRolesListRequestOpts(requestParameters) {
        const queryParameters = {};
        if (requestParameters['groupName'] != null) {
            queryParameters['group__name'] = requestParameters['groupName'];
        }
        if (requestParameters['ordering'] != null) {
            queryParameters['ordering'] = requestParameters['ordering'];
        }
        if (requestParameters['page'] != null) {
            queryParameters['page'] = requestParameters['page'];
        }
        if (requestParameters['pageSize'] != null) {
            queryParameters['page_size'] = requestParameters['pageSize'];
        }
        if (requestParameters['search'] != null) {
            queryParameters['search'] = requestParameters['search'];
        }
        const headerParameters = {};
        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("authentik", []);
            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        let urlPath = `/rbac/roles/`;
        return {
            path: urlPath,
            method: 'GET',
            headers: headerParameters,
            query: queryParameters,
        };
    }
    /**
     * Role viewset
     */
    async rbacRolesListRaw(requestParameters, initOverrides) {
        const requestOptions = await this.rbacRolesListRequestOpts(requestParameters);
        const response = await this.request(requestOptions, initOverrides);
        return new runtime.JSONApiResponse(response, (jsonValue) => (0, index_1.PaginatedRoleListFromJSON)(jsonValue));
    }
    /**
     * Role viewset
     */
    async rbacRolesList(requestParameters = {}, initOverrides) {
        const response = await this.rbacRolesListRaw(requestParameters, initOverrides);
        return await response.value();
    }
    /**
     * Creates request options for rbacRolesPartialUpdate without sending the request
     */
    async rbacRolesPartialUpdateRequestOpts(requestParameters) {
        if (requestParameters['uuid'] == null) {
            throw new runtime.RequiredError('uuid', 'Required parameter "uuid" was null or undefined when calling rbacRolesPartialUpdate().');
        }
        const queryParameters = {};
        const headerParameters = {};
        headerParameters['Content-Type'] = 'application/json';
        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("authentik", []);
            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        let urlPath = `/rbac/roles/{uuid}/`;
        urlPath = urlPath.replace(`{${"uuid"}}`, encodeURIComponent(String(requestParameters['uuid'])));
        return {
            path: urlPath,
            method: 'PATCH',
            headers: headerParameters,
            query: queryParameters,
            body: (0, index_1.PatchedRoleRequestToJSON)(requestParameters['patchedRoleRequest']),
        };
    }
    /**
     * Role viewset
     */
    async rbacRolesPartialUpdateRaw(requestParameters, initOverrides) {
        const requestOptions = await this.rbacRolesPartialUpdateRequestOpts(requestParameters);
        const response = await this.request(requestOptions, initOverrides);
        return new runtime.JSONApiResponse(response, (jsonValue) => (0, index_1.RoleFromJSON)(jsonValue));
    }
    /**
     * Role viewset
     */
    async rbacRolesPartialUpdate(requestParameters, initOverrides) {
        const response = await this.rbacRolesPartialUpdateRaw(requestParameters, initOverrides);
        return await response.value();
    }
    /**
     * Creates request options for rbacRolesRetrieve without sending the request
     */
    async rbacRolesRetrieveRequestOpts(requestParameters) {
        if (requestParameters['uuid'] == null) {
            throw new runtime.RequiredError('uuid', 'Required parameter "uuid" was null or undefined when calling rbacRolesRetrieve().');
        }
        const queryParameters = {};
        const headerParameters = {};
        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("authentik", []);
            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        let urlPath = `/rbac/roles/{uuid}/`;
        urlPath = urlPath.replace(`{${"uuid"}}`, encodeURIComponent(String(requestParameters['uuid'])));
        return {
            path: urlPath,
            method: 'GET',
            headers: headerParameters,
            query: queryParameters,
        };
    }
    /**
     * Role viewset
     */
    async rbacRolesRetrieveRaw(requestParameters, initOverrides) {
        const requestOptions = await this.rbacRolesRetrieveRequestOpts(requestParameters);
        const response = await this.request(requestOptions, initOverrides);
        return new runtime.JSONApiResponse(response, (jsonValue) => (0, index_1.RoleFromJSON)(jsonValue));
    }
    /**
     * Role viewset
     */
    async rbacRolesRetrieve(requestParameters, initOverrides) {
        const response = await this.rbacRolesRetrieveRaw(requestParameters, initOverrides);
        return await response.value();
    }
    /**
     * Creates request options for rbacRolesUpdate without sending the request
     */
    async rbacRolesUpdateRequestOpts(requestParameters) {
        if (requestParameters['uuid'] == null) {
            throw new runtime.RequiredError('uuid', 'Required parameter "uuid" was null or undefined when calling rbacRolesUpdate().');
        }
        if (requestParameters['roleRequest'] == null) {
            throw new runtime.RequiredError('roleRequest', 'Required parameter "roleRequest" was null or undefined when calling rbacRolesUpdate().');
        }
        const queryParameters = {};
        const headerParameters = {};
        headerParameters['Content-Type'] = 'application/json';
        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("authentik", []);
            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        let urlPath = `/rbac/roles/{uuid}/`;
        urlPath = urlPath.replace(`{${"uuid"}}`, encodeURIComponent(String(requestParameters['uuid'])));
        return {
            path: urlPath,
            method: 'PUT',
            headers: headerParameters,
            query: queryParameters,
            body: (0, index_1.RoleRequestToJSON)(requestParameters['roleRequest']),
        };
    }
    /**
     * Role viewset
     */
    async rbacRolesUpdateRaw(requestParameters, initOverrides) {
        const requestOptions = await this.rbacRolesUpdateRequestOpts(requestParameters);
        const response = await this.request(requestOptions, initOverrides);
        return new runtime.JSONApiResponse(response, (jsonValue) => (0, index_1.RoleFromJSON)(jsonValue));
    }
    /**
     * Role viewset
     */
    async rbacRolesUpdate(requestParameters, initOverrides) {
        const response = await this.rbacRolesUpdateRaw(requestParameters, initOverrides);
        return await response.value();
    }
    /**
     * Creates request options for rbacRolesUsedByList without sending the request
     */
    async rbacRolesUsedByListRequestOpts(requestParameters) {
        if (requestParameters['uuid'] == null) {
            throw new runtime.RequiredError('uuid', 'Required parameter "uuid" was null or undefined when calling rbacRolesUsedByList().');
        }
        const queryParameters = {};
        const headerParameters = {};
        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("authentik", []);
            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        let urlPath = `/rbac/roles/{uuid}/used_by/`;
        urlPath = urlPath.replace(`{${"uuid"}}`, encodeURIComponent(String(requestParameters['uuid'])));
        return {
            path: urlPath,
            method: 'GET',
            headers: headerParameters,
            query: queryParameters,
        };
    }
    /**
     * Get a list of all objects that use this object
     */
    async rbacRolesUsedByListRaw(requestParameters, initOverrides) {
        const requestOptions = await this.rbacRolesUsedByListRequestOpts(requestParameters);
        const response = await this.request(requestOptions, initOverrides);
        return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(index_1.UsedByFromJSON));
    }
    /**
     * Get a list of all objects that use this object
     */
    async rbacRolesUsedByList(requestParameters, initOverrides) {
        const response = await this.rbacRolesUsedByListRaw(requestParameters, initOverrides);
        return await response.value();
    }
}
exports.RbacApi = RbacApi;
/**
 * @export
 */
exports.RbacPermissionsAssignedByRolesListModelEnum = {
    AuthentikBlueprintsBlueprintinstance: 'authentik_blueprints.blueprintinstance',
    AuthentikBrandsBrand: 'authentik_brands.brand',
    AuthentikCoreApplication: 'authentik_core.application',
    AuthentikCoreApplicationentitlement: 'authentik_core.applicationentitlement',
    AuthentikCoreGroup: 'authentik_core.group',
    AuthentikCoreToken: 'authentik_core.token',
    AuthentikCoreUser: 'authentik_core.user',
    AuthentikCryptoCertificatekeypair: 'authentik_crypto.certificatekeypair',
    AuthentikEnterpriseLicense: 'authentik_enterprise.license',
    AuthentikEventsEvent: 'authentik_events.event',
    AuthentikEventsNotification: 'authentik_events.notification',
    AuthentikEventsNotificationrule: 'authentik_events.notificationrule',
    AuthentikEventsNotificationtransport: 'authentik_events.notificationtransport',
    AuthentikEventsNotificationwebhookmapping: 'authentik_events.notificationwebhookmapping',
    AuthentikFlowsFlow: 'authentik_flows.flow',
    AuthentikFlowsFlowstagebinding: 'authentik_flows.flowstagebinding',
    AuthentikOutpostsDockerserviceconnection: 'authentik_outposts.dockerserviceconnection',
    AuthentikOutpostsKubernetesserviceconnection: 'authentik_outposts.kubernetesserviceconnection',
    AuthentikOutpostsOutpost: 'authentik_outposts.outpost',
    AuthentikPoliciesPolicybinding: 'authentik_policies.policybinding',
    AuthentikPoliciesDummyDummypolicy: 'authentik_policies_dummy.dummypolicy',
    AuthentikPoliciesEventMatcherEventmatcherpolicy: 'authentik_policies_event_matcher.eventmatcherpolicy',
    AuthentikPoliciesExpiryPasswordexpirypolicy: 'authentik_policies_expiry.passwordexpirypolicy',
    AuthentikPoliciesExpressionExpressionpolicy: 'authentik_policies_expression.expressionpolicy',
    AuthentikPoliciesGeoipGeoippolicy: 'authentik_policies_geoip.geoippolicy',
    AuthentikPoliciesPasswordPasswordpolicy: 'authentik_policies_password.passwordpolicy',
    AuthentikPoliciesReputationReputationpolicy: 'authentik_policies_reputation.reputationpolicy',
    AuthentikPoliciesUniquePasswordUniquepasswordpolicy: 'authentik_policies_unique_password.uniquepasswordpolicy',
    AuthentikProvidersGoogleWorkspaceGoogleworkspaceprovider: 'authentik_providers_google_workspace.googleworkspaceprovider',
    AuthentikProvidersGoogleWorkspaceGoogleworkspaceprovidermapping: 'authentik_providers_google_workspace.googleworkspaceprovidermapping',
    AuthentikProvidersLdapLdapprovider: 'authentik_providers_ldap.ldapprovider',
    AuthentikProvidersMicrosoftEntraMicrosoftentraprovider: 'authentik_providers_microsoft_entra.microsoftentraprovider',
    AuthentikProvidersMicrosoftEntraMicrosoftentraprovidermapping: 'authentik_providers_microsoft_entra.microsoftentraprovidermapping',
    AuthentikProvidersOauth2Oauth2provider: 'authentik_providers_oauth2.oauth2provider',
    AuthentikProvidersOauth2Scopemapping: 'authentik_providers_oauth2.scopemapping',
    AuthentikProvidersProxyProxyprovider: 'authentik_providers_proxy.proxyprovider',
    AuthentikProvidersRacEndpoint: 'authentik_providers_rac.endpoint',
    AuthentikProvidersRacRacpropertymapping: 'authentik_providers_rac.racpropertymapping',
    AuthentikProvidersRacRacprovider: 'authentik_providers_rac.racprovider',
    AuthentikProvidersRadiusRadiusprovider: 'authentik_providers_radius.radiusprovider',
    AuthentikProvidersRadiusRadiusproviderpropertymapping: 'authentik_providers_radius.radiusproviderpropertymapping',
    AuthentikProvidersSamlSamlpropertymapping: 'authentik_providers_saml.samlpropertymapping',
    AuthentikProvidersSamlSamlprovider: 'authentik_providers_saml.samlprovider',
    AuthentikProvidersScimScimmapping: 'authentik_providers_scim.scimmapping',
    AuthentikProvidersScimScimprovider: 'authentik_providers_scim.scimprovider',
    AuthentikProvidersSsfSsfprovider: 'authentik_providers_ssf.ssfprovider',
    AuthentikRbacInitialpermissions: 'authentik_rbac.initialpermissions',
    AuthentikRbacRole: 'authentik_rbac.role',
    AuthentikSourcesKerberosGroupkerberossourceconnection: 'authentik_sources_kerberos.groupkerberossourceconnection',
    AuthentikSourcesKerberosKerberossource: 'authentik_sources_kerberos.kerberossource',
    AuthentikSourcesKerberosKerberossourcepropertymapping: 'authentik_sources_kerberos.kerberossourcepropertymapping',
    AuthentikSourcesKerberosUserkerberossourceconnection: 'authentik_sources_kerberos.userkerberossourceconnection',
    AuthentikSourcesLdapGroupldapsourceconnection: 'authentik_sources_ldap.groupldapsourceconnection',
    AuthentikSourcesLdapLdapsource: 'authentik_sources_ldap.ldapsource',
    AuthentikSourcesLdapLdapsourcepropertymapping: 'authentik_sources_ldap.ldapsourcepropertymapping',
    AuthentikSourcesLdapUserldapsourceconnection: 'authentik_sources_ldap.userldapsourceconnection',
    AuthentikSourcesOauthGroupoauthsourceconnection: 'authentik_sources_oauth.groupoauthsourceconnection',
    AuthentikSourcesOauthOauthsource: 'authentik_sources_oauth.oauthsource',
    AuthentikSourcesOauthOauthsourcepropertymapping: 'authentik_sources_oauth.oauthsourcepropertymapping',
    AuthentikSourcesOauthUseroauthsourceconnection: 'authentik_sources_oauth.useroauthsourceconnection',
    AuthentikSourcesPlexGroupplexsourceconnection: 'authentik_sources_plex.groupplexsourceconnection',
    AuthentikSourcesPlexPlexsource: 'authentik_sources_plex.plexsource',
    AuthentikSourcesPlexPlexsourcepropertymapping: 'authentik_sources_plex.plexsourcepropertymapping',
    AuthentikSourcesPlexUserplexsourceconnection: 'authentik_sources_plex.userplexsourceconnection',
    AuthentikSourcesSamlGroupsamlsourceconnection: 'authentik_sources_saml.groupsamlsourceconnection',
    AuthentikSourcesSamlSamlsource: 'authentik_sources_saml.samlsource',
    AuthentikSourcesSamlSamlsourcepropertymapping: 'authentik_sources_saml.samlsourcepropertymapping',
    AuthentikSourcesSamlUsersamlsourceconnection: 'authentik_sources_saml.usersamlsourceconnection',
    AuthentikSourcesScimScimsource: 'authentik_sources_scim.scimsource',
    AuthentikSourcesScimScimsourcepropertymapping: 'authentik_sources_scim.scimsourcepropertymapping',
    AuthentikStagesAuthenticatorDuoAuthenticatorduostage: 'authentik_stages_authenticator_duo.authenticatorduostage',
    AuthentikStagesAuthenticatorDuoDuodevice: 'authentik_stages_authenticator_duo.duodevice',
    AuthentikStagesAuthenticatorEmailAuthenticatoremailstage: 'authentik_stages_authenticator_email.authenticatoremailstage',
    AuthentikStagesAuthenticatorEmailEmaildevice: 'authentik_stages_authenticator_email.emaildevice',
    AuthentikStagesAuthenticatorEndpointGdtcAuthenticatorendpointgdtcstage: 'authentik_stages_authenticator_endpoint_gdtc.authenticatorendpointgdtcstage',
    AuthentikStagesAuthenticatorSmsAuthenticatorsmsstage: 'authentik_stages_authenticator_sms.authenticatorsmsstage',
    AuthentikStagesAuthenticatorSmsSmsdevice: 'authentik_stages_authenticator_sms.smsdevice',
    AuthentikStagesAuthenticatorStaticAuthenticatorstaticstage: 'authentik_stages_authenticator_static.authenticatorstaticstage',
    AuthentikStagesAuthenticatorStaticStaticdevice: 'authentik_stages_authenticator_static.staticdevice',
    AuthentikStagesAuthenticatorTotpAuthenticatortotpstage: 'authentik_stages_authenticator_totp.authenticatortotpstage',
    AuthentikStagesAuthenticatorTotpTotpdevice: 'authentik_stages_authenticator_totp.totpdevice',
    AuthentikStagesAuthenticatorValidateAuthenticatorvalidatestage: 'authentik_stages_authenticator_validate.authenticatorvalidatestage',
    AuthentikStagesAuthenticatorWebauthnAuthenticatorwebauthnstage: 'authentik_stages_authenticator_webauthn.authenticatorwebauthnstage',
    AuthentikStagesAuthenticatorWebauthnWebauthndevice: 'authentik_stages_authenticator_webauthn.webauthndevice',
    AuthentikStagesCaptchaCaptchastage: 'authentik_stages_captcha.captchastage',
    AuthentikStagesConsentConsentstage: 'authentik_stages_consent.consentstage',
    AuthentikStagesConsentUserconsent: 'authentik_stages_consent.userconsent',
    AuthentikStagesDenyDenystage: 'authentik_stages_deny.denystage',
    AuthentikStagesDummyDummystage: 'authentik_stages_dummy.dummystage',
    AuthentikStagesEmailEmailstage: 'authentik_stages_email.emailstage',
    AuthentikStagesIdentificationIdentificationstage: 'authentik_stages_identification.identificationstage',
    AuthentikStagesInvitationInvitation: 'authentik_stages_invitation.invitation',
    AuthentikStagesInvitationInvitationstage: 'authentik_stages_invitation.invitationstage',
    AuthentikStagesMtlsMutualtlsstage: 'authentik_stages_mtls.mutualtlsstage',
    AuthentikStagesPasswordPasswordstage: 'authentik_stages_password.passwordstage',
    AuthentikStagesPromptPrompt: 'authentik_stages_prompt.prompt',
    AuthentikStagesPromptPromptstage: 'authentik_stages_prompt.promptstage',
    AuthentikStagesRedirectRedirectstage: 'authentik_stages_redirect.redirectstage',
    AuthentikStagesSourceSourcestage: 'authentik_stages_source.sourcestage',
    AuthentikStagesUserDeleteUserdeletestage: 'authentik_stages_user_delete.userdeletestage',
    AuthentikStagesUserLoginUserloginstage: 'authentik_stages_user_login.userloginstage',
    AuthentikStagesUserLogoutUserlogoutstage: 'authentik_stages_user_logout.userlogoutstage',
    AuthentikStagesUserWriteUserwritestage: 'authentik_stages_user_write.userwritestage',
    AuthentikTasksSchedulesSchedule: 'authentik_tasks_schedules.schedule',
    AuthentikTenantsDomain: 'authentik_tenants.domain',
    UnknownDefaultOpenApi: '11184809'
};
/**
 * @export
 */
exports.RbacPermissionsAssignedByUsersListModelEnum = {
    AuthentikBlueprintsBlueprintinstance: 'authentik_blueprints.blueprintinstance',
    AuthentikBrandsBrand: 'authentik_brands.brand',
    AuthentikCoreApplication: 'authentik_core.application',
    AuthentikCoreApplicationentitlement: 'authentik_core.applicationentitlement',
    AuthentikCoreGroup: 'authentik_core.group',
    AuthentikCoreToken: 'authentik_core.token',
    AuthentikCoreUser: 'authentik_core.user',
    AuthentikCryptoCertificatekeypair: 'authentik_crypto.certificatekeypair',
    AuthentikEnterpriseLicense: 'authentik_enterprise.license',
    AuthentikEventsEvent: 'authentik_events.event',
    AuthentikEventsNotification: 'authentik_events.notification',
    AuthentikEventsNotificationrule: 'authentik_events.notificationrule',
    AuthentikEventsNotificationtransport: 'authentik_events.notificationtransport',
    AuthentikEventsNotificationwebhookmapping: 'authentik_events.notificationwebhookmapping',
    AuthentikFlowsFlow: 'authentik_flows.flow',
    AuthentikFlowsFlowstagebinding: 'authentik_flows.flowstagebinding',
    AuthentikOutpostsDockerserviceconnection: 'authentik_outposts.dockerserviceconnection',
    AuthentikOutpostsKubernetesserviceconnection: 'authentik_outposts.kubernetesserviceconnection',
    AuthentikOutpostsOutpost: 'authentik_outposts.outpost',
    AuthentikPoliciesPolicybinding: 'authentik_policies.policybinding',
    AuthentikPoliciesDummyDummypolicy: 'authentik_policies_dummy.dummypolicy',
    AuthentikPoliciesEventMatcherEventmatcherpolicy: 'authentik_policies_event_matcher.eventmatcherpolicy',
    AuthentikPoliciesExpiryPasswordexpirypolicy: 'authentik_policies_expiry.passwordexpirypolicy',
    AuthentikPoliciesExpressionExpressionpolicy: 'authentik_policies_expression.expressionpolicy',
    AuthentikPoliciesGeoipGeoippolicy: 'authentik_policies_geoip.geoippolicy',
    AuthentikPoliciesPasswordPasswordpolicy: 'authentik_policies_password.passwordpolicy',
    AuthentikPoliciesReputationReputationpolicy: 'authentik_policies_reputation.reputationpolicy',
    AuthentikPoliciesUniquePasswordUniquepasswordpolicy: 'authentik_policies_unique_password.uniquepasswordpolicy',
    AuthentikProvidersGoogleWorkspaceGoogleworkspaceprovider: 'authentik_providers_google_workspace.googleworkspaceprovider',
    AuthentikProvidersGoogleWorkspaceGoogleworkspaceprovidermapping: 'authentik_providers_google_workspace.googleworkspaceprovidermapping',
    AuthentikProvidersLdapLdapprovider: 'authentik_providers_ldap.ldapprovider',
    AuthentikProvidersMicrosoftEntraMicrosoftentraprovider: 'authentik_providers_microsoft_entra.microsoftentraprovider',
    AuthentikProvidersMicrosoftEntraMicrosoftentraprovidermapping: 'authentik_providers_microsoft_entra.microsoftentraprovidermapping',
    AuthentikProvidersOauth2Oauth2provider: 'authentik_providers_oauth2.oauth2provider',
    AuthentikProvidersOauth2Scopemapping: 'authentik_providers_oauth2.scopemapping',
    AuthentikProvidersProxyProxyprovider: 'authentik_providers_proxy.proxyprovider',
    AuthentikProvidersRacEndpoint: 'authentik_providers_rac.endpoint',
    AuthentikProvidersRacRacpropertymapping: 'authentik_providers_rac.racpropertymapping',
    AuthentikProvidersRacRacprovider: 'authentik_providers_rac.racprovider',
    AuthentikProvidersRadiusRadiusprovider: 'authentik_providers_radius.radiusprovider',
    AuthentikProvidersRadiusRadiusproviderpropertymapping: 'authentik_providers_radius.radiusproviderpropertymapping',
    AuthentikProvidersSamlSamlpropertymapping: 'authentik_providers_saml.samlpropertymapping',
    AuthentikProvidersSamlSamlprovider: 'authentik_providers_saml.samlprovider',
    AuthentikProvidersScimScimmapping: 'authentik_providers_scim.scimmapping',
    AuthentikProvidersScimScimprovider: 'authentik_providers_scim.scimprovider',
    AuthentikProvidersSsfSsfprovider: 'authentik_providers_ssf.ssfprovider',
    AuthentikRbacInitialpermissions: 'authentik_rbac.initialpermissions',
    AuthentikRbacRole: 'authentik_rbac.role',
    AuthentikSourcesKerberosGroupkerberossourceconnection: 'authentik_sources_kerberos.groupkerberossourceconnection',
    AuthentikSourcesKerberosKerberossource: 'authentik_sources_kerberos.kerberossource',
    AuthentikSourcesKerberosKerberossourcepropertymapping: 'authentik_sources_kerberos.kerberossourcepropertymapping',
    AuthentikSourcesKerberosUserkerberossourceconnection: 'authentik_sources_kerberos.userkerberossourceconnection',
    AuthentikSourcesLdapGroupldapsourceconnection: 'authentik_sources_ldap.groupldapsourceconnection',
    AuthentikSourcesLdapLdapsource: 'authentik_sources_ldap.ldapsource',
    AuthentikSourcesLdapLdapsourcepropertymapping: 'authentik_sources_ldap.ldapsourcepropertymapping',
    AuthentikSourcesLdapUserldapsourceconnection: 'authentik_sources_ldap.userldapsourceconnection',
    AuthentikSourcesOauthGroupoauthsourceconnection: 'authentik_sources_oauth.groupoauthsourceconnection',
    AuthentikSourcesOauthOauthsource: 'authentik_sources_oauth.oauthsource',
    AuthentikSourcesOauthOauthsourcepropertymapping: 'authentik_sources_oauth.oauthsourcepropertymapping',
    AuthentikSourcesOauthUseroauthsourceconnection: 'authentik_sources_oauth.useroauthsourceconnection',
    AuthentikSourcesPlexGroupplexsourceconnection: 'authentik_sources_plex.groupplexsourceconnection',
    AuthentikSourcesPlexPlexsource: 'authentik_sources_plex.plexsource',
    AuthentikSourcesPlexPlexsourcepropertymapping: 'authentik_sources_plex.plexsourcepropertymapping',
    AuthentikSourcesPlexUserplexsourceconnection: 'authentik_sources_plex.userplexsourceconnection',
    AuthentikSourcesSamlGroupsamlsourceconnection: 'authentik_sources_saml.groupsamlsourceconnection',
    AuthentikSourcesSamlSamlsource: 'authentik_sources_saml.samlsource',
    AuthentikSourcesSamlSamlsourcepropertymapping: 'authentik_sources_saml.samlsourcepropertymapping',
    AuthentikSourcesSamlUsersamlsourceconnection: 'authentik_sources_saml.usersamlsourceconnection',
    AuthentikSourcesScimScimsource: 'authentik_sources_scim.scimsource',
    AuthentikSourcesScimScimsourcepropertymapping: 'authentik_sources_scim.scimsourcepropertymapping',
    AuthentikStagesAuthenticatorDuoAuthenticatorduostage: 'authentik_stages_authenticator_duo.authenticatorduostage',
    AuthentikStagesAuthenticatorDuoDuodevice: 'authentik_stages_authenticator_duo.duodevice',
    AuthentikStagesAuthenticatorEmailAuthenticatoremailstage: 'authentik_stages_authenticator_email.authenticatoremailstage',
    AuthentikStagesAuthenticatorEmailEmaildevice: 'authentik_stages_authenticator_email.emaildevice',
    AuthentikStagesAuthenticatorEndpointGdtcAuthenticatorendpointgdtcstage: 'authentik_stages_authenticator_endpoint_gdtc.authenticatorendpointgdtcstage',
    AuthentikStagesAuthenticatorSmsAuthenticatorsmsstage: 'authentik_stages_authenticator_sms.authenticatorsmsstage',
    AuthentikStagesAuthenticatorSmsSmsdevice: 'authentik_stages_authenticator_sms.smsdevice',
    AuthentikStagesAuthenticatorStaticAuthenticatorstaticstage: 'authentik_stages_authenticator_static.authenticatorstaticstage',
    AuthentikStagesAuthenticatorStaticStaticdevice: 'authentik_stages_authenticator_static.staticdevice',
    AuthentikStagesAuthenticatorTotpAuthenticatortotpstage: 'authentik_stages_authenticator_totp.authenticatortotpstage',
    AuthentikStagesAuthenticatorTotpTotpdevice: 'authentik_stages_authenticator_totp.totpdevice',
    AuthentikStagesAuthenticatorValidateAuthenticatorvalidatestage: 'authentik_stages_authenticator_validate.authenticatorvalidatestage',
    AuthentikStagesAuthenticatorWebauthnAuthenticatorwebauthnstage: 'authentik_stages_authenticator_webauthn.authenticatorwebauthnstage',
    AuthentikStagesAuthenticatorWebauthnWebauthndevice: 'authentik_stages_authenticator_webauthn.webauthndevice',
    AuthentikStagesCaptchaCaptchastage: 'authentik_stages_captcha.captchastage',
    AuthentikStagesConsentConsentstage: 'authentik_stages_consent.consentstage',
    AuthentikStagesConsentUserconsent: 'authentik_stages_consent.userconsent',
    AuthentikStagesDenyDenystage: 'authentik_stages_deny.denystage',
    AuthentikStagesDummyDummystage: 'authentik_stages_dummy.dummystage',
    AuthentikStagesEmailEmailstage: 'authentik_stages_email.emailstage',
    AuthentikStagesIdentificationIdentificationstage: 'authentik_stages_identification.identificationstage',
    AuthentikStagesInvitationInvitation: 'authentik_stages_invitation.invitation',
    AuthentikStagesInvitationInvitationstage: 'authentik_stages_invitation.invitationstage',
    AuthentikStagesMtlsMutualtlsstage: 'authentik_stages_mtls.mutualtlsstage',
    AuthentikStagesPasswordPasswordstage: 'authentik_stages_password.passwordstage',
    AuthentikStagesPromptPrompt: 'authentik_stages_prompt.prompt',
    AuthentikStagesPromptPromptstage: 'authentik_stages_prompt.promptstage',
    AuthentikStagesRedirectRedirectstage: 'authentik_stages_redirect.redirectstage',
    AuthentikStagesSourceSourcestage: 'authentik_stages_source.sourcestage',
    AuthentikStagesUserDeleteUserdeletestage: 'authentik_stages_user_delete.userdeletestage',
    AuthentikStagesUserLoginUserloginstage: 'authentik_stages_user_login.userloginstage',
    AuthentikStagesUserLogoutUserlogoutstage: 'authentik_stages_user_logout.userlogoutstage',
    AuthentikStagesUserWriteUserwritestage: 'authentik_stages_user_write.userwritestage',
    AuthentikTasksSchedulesSchedule: 'authentik_tasks_schedules.schedule',
    AuthentikTenantsDomain: 'authentik_tenants.domain',
    UnknownDefaultOpenApi: '11184809'
};
//# sourceMappingURL=RbacApi.js.map