import { Security as SecurityModel, SharePoint } from "../../../models";
import { PermissionScopes } from "../Enums";
import { AjaxService } from "./AjaxService";
export declare class SecurityService {
    ajaxService: AjaxService;
    private roleClientNameSeparator;
    constructor(ajaxService: AjaxService);
    verifyAuthorization: (requiredRoles: SecurityModel.IPermissionRoleDefinition[], callback: (isAuthorized: boolean) => any) => void;
    isAuthorized: (requiredRoles: SecurityModel.IPermissionRoleDefinition[]) => boolean;
    getPermissionRoles: (sourceUrl: string, roles: SecurityModel.IPermissionRoleDefinition[], callback: (result: SecurityModel.IPermissionRole[]) => any) => void;
    addOrUpdatePermissionRoles: (permissionRoles: SecurityModel.IPermissionRole[], callback: (isSuccess: boolean) => any) => void;
    getRoleClientName: (roleName: string, roleScope: PermissionScopes, extensionPackageId?: string) => string;
    updateWebAssociatedGroups: (sourceUrl: string, webAssociatedGroups: SharePoint.IWebAssociatedGroups, callback: () => void) => void;
    updateWebAllAssociatedGroups: (sourceUrl: string, webAssociatedGroups: SharePoint.IWebAssociatedGroup[], sendInvitationEmail: boolean, callback: () => void) => void;
    private authorizeCurrentUser;
    private getRequiredRoleNames;
    private isUserAuthorized;
}
