import { Observable } from 'rxjs'; import { InjectionToken } from '@angular/core'; import { HttpClient } from '@angular/common/http'; import { IUserPermission } from './user-permission.interface'; import { IUserPermissionServiceSettings } from './user-permission-service-settings.interface'; import { QueryFilter } from './../../../entities/api-tools/query-filter'; import { ITnfUser } from './tnf/tnf.index'; export declare const USER_PERMISSION_SETTINGS: InjectionToken; export declare class UserPermissionService implements IUserPermission { private receiveSettings; private httpClient; private mappedGetAll; private mappedGetUser; private mappedGetUserInfo; private settings; setQueryFilter(queryFilter: QueryFilter): void; /** * Método construtor da classe * @param settings Configurações do endpoint de permissões * @param httpClient Serviço Http */ constructor(receiveSettings: IUserPermissionServiceSettings, httpClient: HttpClient); /** * Método que realiza a requisição http para o endpoint de listagem de usuários * * @template IUser O tipo de dados que o enpoint retorna */ getAllUsers(queryFilter?: QueryFilter): Observable; /** * Método que realiza a requisição http para o endpoint de busca de um usuário * @param userId Identificador do usuário */ getUser(userId: number): Observable; /** * Método que realiza a requisição http para o endpoint de busca de informações do usuário logado */ getUserInfo(): Observable; /** * Método que permite a alteração das configurações do serviço de permissão de usuários * indicando URLs diferentes para os endpoints * @param settings Configurações */ changeSettings(settings: IUserPermissionServiceSettings): Promise; /** * Método que realizar a inicialização do serviço utilizando as configurações recebidas * @param settings Configurações */ private initService; }