import BaseResource from '../../BaseResource';
import type * as ApiTypes from '../ApiTypes';
import type * as RawApiTypes from '../RawApiTypes';
export default class SsoGroup extends BaseResource {
    static readonly TYPE: "sso_group";
    /**
     * List all SSO groups
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/sso-group/instances
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    list(): Promise<ApiTypes.SsoGroupInstancesTargetSchema>;
    /**
     * List all SSO groups
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/sso-group/instances
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    rawList(): Promise<RawApiTypes.SsoGroupInstancesTargetSchema>;
    /**
     * Sync SSO provider groups to DatoCMS roles
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/sso-group/copy_roles
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    copyRoles(ssoGroupId: string | ApiTypes.SsoGroupData): Promise<ApiTypes.SsoGroup>;
    /**
     * Sync SSO provider groups to DatoCMS roles
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/sso-group/copy_roles
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    rawCopyRoles(ssoGroupId: string): Promise<RawApiTypes.SsoGroupCopyRolesTargetSchema>;
    /**
     * Update a SSO group
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/sso-group/update
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    update(ssoGroupId: string | ApiTypes.SsoGroupData, body: ApiTypes.SsoGroupUpdateSchema): Promise<ApiTypes.SsoGroup>;
    /**
     * Update a SSO group
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/sso-group/update
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    rawUpdate(ssoGroupId: string, body: RawApiTypes.SsoGroupUpdateSchema): Promise<RawApiTypes.SsoGroupUpdateTargetSchema>;
    /**
     * Delete a group
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/sso-group/destroy
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    destroy(ssoGroupId: string | ApiTypes.SsoGroupData): Promise<ApiTypes.SsoGroup>;
    /**
     * Delete a group
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/sso-group/destroy
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    rawDestroy(ssoGroupId: string): Promise<RawApiTypes.SsoGroupDestroyTargetSchema>;
}
