import { HttpClient } from "@angular/common/http";
import { MessageService, SortMeta } from "primeng/api";
import { Observable } from "rxjs";
import { TranslateService } from "@ngx-translate/core";
import { Router } from "@angular/router";
export interface BodyParams {
    offset?: number;
    size?: number;
    orderBy?: string;
    filter?: string;
    displayfields?: string;
}
export interface ListParams {
    page?: number;
    size?: number;
    sort?: SortMeta[];
    filterQuery?: string;
    displayFields?: string[];
}
export interface PagedResults<T> {
    contents: T[];
    totalElements: number;
    totalPages: number;
}
export interface RequestOptions {
    domainName: string;
    serviceName: string;
}
export declare class HttpService {
    readonly http: HttpClient;
    readonly translate: TranslateService;
    readonly messageService: MessageService;
    readonly router: Router;
    constructor(http: HttpClient, translate: TranslateService, messageService: MessageService, router: Router);
    doAction(primitiveName: string, input: any, options?: RequestOptions): Observable<any>;
    doQuery(primitiveName: string, input: any, options?: RequestOptions): Observable<any>;
    doSignal(primitiveName: string, input: any, options?: RequestOptions): Observable<any>;
    list<T>(entityName: string, listParams: ListParams, options?: RequestOptions): Observable<PagedResults<T>>;
    get<T>(entityName: string, id: any, options?: RequestOptions): Observable<T>;
    insert<T>(entityName: string, entity: T, options?: RequestOptions): Observable<T>;
    update<T>(entityName: string, id: any, entity: T, options?: RequestOptions): Observable<T>;
    delete(entityName: string, id: any, options?: RequestOptions): Observable<undefined>;
    private do;
    private toBaseUrl;
    private getListQueryParams;
    private handleError;
}
