import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs/internal/Observable';
import { ClaimDetails } from '../models/claim-details';
import { RolesDetails } from '../models/roles-details';
import { UserDetails } from '../models/user-details';
import { TenantDetails } from '../models/tenant-details';
import { CreateClaim } from '../models/create-claim';
import { UpdateClaim } from '../models/update-claim';
import { ProtectClaim } from '../models/protect-claim';
import { UnprotectClaim } from '../models/unprotect-claim';
import { CreateRole } from '../models/create-role';
import { RenameRole } from '../models/rename-role';
import { UpdateRoleClaims } from '../models/update-role-claims';
import { ReplaceUserRoles } from '../models/replace-user-roles';
import { AddClaimsOverride } from '../models/add-claims-override';
import { RemoveClaimsOverride } from '../models/remove-claims-override';
import { CreateTenant } from '../models/create-tenant';
import { UpdateTenant } from '../models/update-tenant';
import { BaseApiService } from '../../rbk-utils/http/base-api.service';
import * as i0 from "@angular/core";
export declare class AuthorizationService extends BaseApiService {
    private http;
    private endpoint;
    constructor(http: HttpClient);
    getAllClaims(): Observable<ClaimDetails[]>;
    createClaim(data: CreateClaim): Observable<ClaimDetails>;
    updateClaim(data: UpdateClaim): Observable<ClaimDetails>;
    deleteClaim(id: string): Observable<void>;
    protectClaim(data: ProtectClaim): Observable<ClaimDetails>;
    unprotectClaim(data: UnprotectClaim): Observable<ClaimDetails>;
    getAllRoles(): Observable<RolesDetails[]>;
    createRole(data: CreateRole): Observable<RolesDetails>;
    updateRole(data: RenameRole): Observable<RolesDetails>;
    deleteRole(id: string): Observable<void>;
    updateRoleClaims(data: UpdateRoleClaims): Observable<RolesDetails>;
    getAllUsers(): Observable<UserDetails[]>;
    updateUserRoles(data: ReplaceUserRoles): Observable<UserDetails>;
    addClaimsToUser(data: AddClaimsOverride): Observable<UserDetails>;
    removeClaimsFromUser(data: RemoveClaimsOverride): Observable<UserDetails>;
    getAllTenants(): Observable<TenantDetails[]>;
    createTenant(data: CreateTenant): Observable<TenantDetails>;
    updateTenant(data: UpdateTenant): Observable<TenantDetails>;
    deleteTenant(id: string): Observable<void>;
    static ɵfac: i0.ɵɵFactoryDeclaration<AuthorizationService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<AuthorizationService>;
}
