import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs';
import { Centrifuge, Subscription as CentrifugeSubscription, PublicationContext, ConnectionTokenContext } from 'centrifuge';
import { MobicloudCoreService } from "mobicloud-core";
import { IODataResult } from "mobicloud-core";
import * as i0 from "@angular/core";
export declare class MobiCloudDataService {
    protected httpClient: HttpClient;
    coreService: MobicloudCoreService;
    mobimanagementUrl: any;
    repositoryUrl: any;
    static readonly requestTimeout_Default: number;
    constructor(httpClient: HttpClient, coreService: MobicloudCoreService);
    getMobiManagementODataUrl(entity: string): string;
    getRepositoryUrlUrl(entity: string): string;
    getMobiManagementApiUrl(params: string): string;
    getBlobUrl(storageAccountName: string, blobPath: string): string;
    getImageBlobUrl(storageAccountName: string, blobFullname: string): string;
    getDocumentBlobUrl(storageAccountName: string, blobFullname: string): string;
    get FlagUrl(): string | undefined;
    get Flag2Url(): string | undefined;
    get OrganizationStorageUrl(): string;
    get OrganizationImagesUrl(): string;
    getOrganizationImageUrl(blobFullname: string): string;
    get OrganizationDocumentsUrl(): string;
    getOrganizationDocumentUrl(blobFullname: string): string;
    httpHeaderValues_AuthorizationOnly(): Promise<{
        [key: string]: string;
    }>;
    httpHeaderValues_Json(): Promise<{
        [key: string]: string;
    }>;
    getAccessToken(): Promise<string>;
    getCentrifugoConnectionToken(ctx: ConnectionTokenContext): Promise<string>;
    getCentrifugoSubscriptionToken(ctx: ConnectionTokenContext): Promise<string>;
    getCentrifugoToken(): Promise<any>;
    createCentrifugoConnection(enableDebugLogging?: boolean): Promise<{
        connection: Centrifuge;
        token: any;
    }>;
    createCentrifugoSubscription(centrifugeConnection: {
        connection: Centrifuge;
        token: any;
    }, messageListener: (ctx: PublicationContext) => void, enableDebugLogging?: boolean): CentrifugeSubscription;
    startCentrifugoConnection(messageListener: (ctx: PublicationContext) => void, enableDebugLogging?: boolean): Promise<{
        connectionInfo: {
            connection: Centrifuge;
            token: any;
        };
        subscription: CentrifugeSubscription;
    }>;
    stopCentrifugoConnection(centrifugeConnectionInfo: {
        connectionInfo: {
            connection: Centrifuge;
            token: any;
        };
        subscription: CentrifugeSubscription;
    }): Promise<void>;
    getQuery<T>(entitySetName: string, queryString?: string, requestTimeout?: number): Promise<Observable<IODataResult<T>>>;
    getEntitySet<T>(entitySetName: string, queryString?: string, requestTimeout?: number): Promise<Observable<T[]>>;
    getEntity<T>(entitySetName: string, entityId: string, queryString?: string, requestTimeout?: number): Promise<Observable<T>>;
    getFirst<T>(url: string, requestTimeout?: number): Promise<Observable<T>>;
    getAll<T>(url: string, requestTimeout?: number): Promise<Observable<T[]>>;
    patchEntity(entitySetName: string, entityId: string, entity: any, requestTimeout?: number): Promise<Observable<Object>>;
    postEntity<T>(entitySetName: string, entity: any, requestTimeout?: number): Promise<Observable<T>>;
    postEntityRaw<T>(entitySetName: string, entity: any, requestTimeout?: number): Promise<Observable<T>>;
    deleteEntity(entitySetName: string, entityId: string, requestTimeout?: number): Promise<Observable<Object>>;
    post<T>(url: string, body: any, requestTimeout?: number): Promise<Observable<T>>;
    patch(url: string, body: any, requestTimeout?: number): Promise<Observable<Object>>;
    delete(url: string, requestTimeout?: number): Promise<Observable<Object>>;
    executeFunction<T>(entitySetName: string, functionName: string, parameterString?: string, requestTimeout?: number): Promise<Observable<T>>;
    http_get(path: string, parameterString?: string, requestTimeout?: number): Observable<Object>;
    http_post(path: string, body: any, parameterString?: string, requestTimeout?: number): Observable<Object>;
    handleError(error: any): Observable<never>;
    loadState(storageKey: string): Observable<Object>;
    saveState(storageKey: string, state: any): Observable<Object>;
    userStateMap_client: Map<string, any>;
    loadState_client(storageKey: string, useCache?: boolean): Promise<any>;
    saveState_client(storageKey: string, state: any, cache?: boolean): Promise<any>;
    getDocumentSasToken(httpClient: HttpClient, requestTimeout?: number): Promise<string>;
    openImageViewer(imageUrl: string, title?: string): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<MobiCloudDataService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<MobiCloudDataService>;
}
//# sourceMappingURL=mobicloud-data.service.d.ts.map