import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs';
import { PaginationModel } from '../../models/pagination.model';
import { IdentityRoleModel } from '../models/identity-role.model';
import { AppConfigService } from '../../app-config/app-config.service';
import * as i0 from "@angular/core";
export interface IdentityRoleResponseModel {
    entries: IdentityRoleModel[];
    pagination: PaginationModel;
}
export declare class IdentityRoleService {
    protected http: HttpClient;
    protected appConfig: AppConfigService;
    contextRoot: string;
    identityHost: string;
    constructor(http: HttpClient, appConfig: AppConfigService);
    /**
     * Ret all roles
     *
     * @param skipCount skip count
     * @param size page size
     * @returns List of roles
     */
    getRoles(skipCount?: number, size?: number): Observable<IdentityRoleResponseModel>;
    private preparePaginationWithRoles;
    /**
     * Add new role
     *
     * @param newRole Role model
     * @returns Server result payload
     */
    addRole(newRole: IdentityRoleModel): Observable<any>;
    /**
     * Delete existing role
     *
     * @param deletedRole Role model
     * @returns Server result payload
     */
    deleteRole(deletedRole: IdentityRoleModel): Observable<any>;
    /**
     * Update existing role
     *
     * @param updatedRole Role model
     * @param roleId Role id
     * @returns Server result payload
     */
    updateRole(updatedRole: IdentityRoleModel, roleId: string): Observable<any>;
    static ɵfac: i0.ɵɵFactoryDeclaration<IdentityRoleService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<IdentityRoleService>;
}
