import { C8oCore } from "./c8oCore";
import { C8oProgress } from "./c8oProgress";
import { C8oResponseListener } from "./c8oResponse";
import { Observable } from "rxjs";
export declare abstract class C8oHttpInterfaceCore {
    c8o: C8oCore;
    timeout: number;
    firstCall: boolean;
    p1: Promise<Object>;
    protected _isCordova: any;
    firstcheckSessionR: boolean;
    private js;
    private session;
    private _timeout;
    private from;
    private requestLogin;
    private _loggedinSession;
    private _notifySessionLost;
    constructor(c8o: C8oCore, js?: boolean);
    forceInit(): void;
    httpGetObservable(uri: any, param1?: any, param2?: any): any;
    httpPostObservable(uri: any, param1: any, param2: any): any;
    getUserServiceStatus(observe?: any): Promise<any>;
    httpPost(url: string, parameters: Object): Promise<any>;
    execHttpPosts(url: string, parameters: any, headers: any, resolve: any, reject: any, headers_return?: boolean, doLogin?: boolean): void;
    private handleResponseHttpPost;
    private handleErrorHttpPost;
    checkFile(parameters: Object): number;
    protected isCordova(): boolean;
    transformRequest(parameters: Object): string;
    transformRequestformdata(parameters: Object): FormData;
    transformRequestfileNative(parameters: Object): any;
    handleRequest(url: string, parameters: Object, c8oResponseListener?: C8oResponseListener): Promise<any>;
    uploadFilePluginNative(url: string, parameters: Object, c8oResponseListener: C8oResponseListener): Promise<any>;
    uploadFileHttp(url: string, form: FormData, parameters: Object, c8oResponseListener: C8oResponseListener): Promise<any>;
    handleResponseFileUpload(event: any, progress: C8oProgress, parameters: Object, c8oResponseListener: C8oResponseListener, varNull: any, resolve: any): void;
    private handleErrorFileUpload;
    handleProgress(event: any, progress: C8oProgress, parameters: any, c8oResponseListener: C8oResponseListener, varNull: JSON): void;
    abstract getHeaders(object: any): any;
    abstract getuploadRequester(url: string, form: FormData, headersObject: any): Observable<any>;
    abstract isHttpResponse(event: any): boolean;
}
