import basem = require('./ClientApiBases');
import VsoBaseInterfaces = require('./interfaces/common/VsoBaseInterfaces');
import SecurityRolesInterfaces = require("./interfaces/SecurityRolesInterfaces");
export interface ISecurityRolesApi extends basem.ClientApiBase {
constructor(scopeId: string, resourceId: string): Promise<SecurityRolesInterfaces.RoleAssignment[]>;
constructor(scopeId: string, resourceId: string, identityId: string): Promise<void>;
constructor(identityIds: string[], scopeId: string, resourceId: string): Promise<void>;
constructor(roleAssignment: SecurityRolesInterfaces.UserRoleAssignmentRef, scopeId: string, resourceId: string, identityId: string): Promise<SecurityRolesInterfaces.RoleAssignment>;
constructor(roleAssignments: SecurityRolesInterfaces.UserRoleAssignmentRef[], scopeId: string, resourceId: string): Promise<SecurityRolesInterfaces.RoleAssignment[]>;
constructor(scopeId: string): Promise<SecurityRolesInterfaces.SecurityRole[]>;
}
export declare class SecurityRolesApi extends basem.ClientApiBase implements ISecurityRolesApi {
constructor(baseUrl: string, handlers: VsoBaseInterfaces.IRequestHandler[], options?: VsoBaseInterfaces.IRequestOptions);
    /**
     * @param {string} scopeId
     * @param {string} resourceId
     */
constructor(scopeId: string, resourceId: string): Promise<SecurityRolesInterfaces.RoleAssignment[]>;
    /**
     * @param {string} scopeId
     * @param {string} resourceId
     * @param {string} identityId
     */
constructor(scopeId: string, resourceId: string, identityId: string): Promise<void>;
    /**
     * @param {string[]} identityIds
     * @param {string} scopeId
     * @param {string} resourceId
     */
constructor(identityIds: string[], scopeId: string, resourceId: string): Promise<void>;
    /**
     * @param {SecurityRolesInterfaces.UserRoleAssignmentRef} roleAssignment
     * @param {string} scopeId
     * @param {string} resourceId
     * @param {string} identityId
     */
constructor(roleAssignment: SecurityRolesInterfaces.UserRoleAssignmentRef, scopeId: string, resourceId: string, identityId: string): Promise<SecurityRolesInterfaces.RoleAssignment>;
    /**
     * @param {SecurityRolesInterfaces.UserRoleAssignmentRef[]} roleAssignments
     * @param {string} scopeId
     * @param {string} resourceId
     */
constructor(roleAssignments: SecurityRolesInterfaces.UserRoleAssignmentRef[], scopeId: string, resourceId: string): Promise<SecurityRolesInterfaces.RoleAssignment[]>;
    /**
     * @param {string} scopeId
     */
constructor(scopeId: string): Promise<SecurityRolesInterfaces.SecurityRole[]>;
}
