import { HttpClient } from '@angular/common/http';
import { BaseApiTemplateService } from '../shared/base-api-template-service.model';
import { AppLoginSubjectContainerModel } from '../../../../../models/aggregates/id';
import { AppLoginContainerModel } from '../../../../../models/aggregates/id';
import { ApiVisa, Pagination } from '../shared';
import { Observable } from 'rxjs';
import { BasicApiResponseModel, PagingResponseModel } from '../shared/api-response.model';
export declare class TenantUserProfileService extends BaseApiTemplateService<AppLoginContainerModel> {
    readonly url: string;
    constructor(http: HttpClient);
    getByCriteriaWithPrincipalId(principalId: string, apiVisa: ApiVisa): Observable<PagingResponseModel<AppLoginSubjectContainerModel>>;
    getProfileName(visa: ApiVisa, guid: string): Observable<BasicApiResponseModel<string>>;
    getProfileNamePromise(visa: ApiVisa, guid: string): Promise<BasicApiResponseModel<string>>;
    getOwnProfile(apiVisa: ApiVisa): Observable<BasicApiResponseModel<AppLoginContainerModel>>;
    getUserDetail(visa: ApiVisa): Observable<BasicApiResponseModel<any>>;
    sysadminGetOwnProfile(apiVisa: ApiVisa): Observable<BasicApiResponseModel<AppLoginContainerModel>>;
    sysadminGetProfileBySubjectGuid(guid: string, apiVisa: ApiVisa): Observable<BasicApiResponseModel<AppLoginContainerModel>>;
    sysadminGetByCriteria(pagination: Pagination, apiVisa: ApiVisa): Observable<BasicApiResponseModel<AppLoginContainerModel>>;
    sysadminPut(dtoObject: AppLoginContainerModel, apiVisa: ApiVisa): Observable<Object>;
    tenantEpGetByGuid(guid: string, visa: ApiVisa): Observable<BasicApiResponseModel<any>>;
    tenantEpGetByCriteriaPromise(pagination: Pagination, visa: ApiVisa, criteria?: any): Promise<PagingResponseModel<any>>;
    tenantAdminPut(dtoObject: AppLoginContainerModel, apiVisa: ApiVisa): Observable<Object>;
}
