/**
 * iCure Data Stack API Documentation
 * The iCure Data Stack Application API is the native interface to iCure. This version is obsolete, please use v2.
 *
 * OpenAPI spec version: v1
 *
 *
 * NOTE: This class is auto generated by the swagger code generator program.
 * https://github.com/swagger-api/swagger-codegen.git
 * Do not edit the class manually.
 */
import { XHR } from './XHR';
import { AuthenticationProvider } from '../../icc-x-api/auth/AuthenticationProvider';
export declare class IccPubsubApi {
    host: string;
    headers: Array<XHR.Header>;
    authenticationProvider: AuthenticationProvider;
    fetchImpl?: (input: RequestInfo, init?: RequestInit) => Promise<Response>;
    constructor(host: string, headers: any, authenticationProvider?: AuthenticationProvider, fetchImpl?: (input: RequestInfo, init?: RequestInit) => Promise<Response>);
    setHeaders(h: Array<XHR.Header>): void;
    handleError(e: XHR.XHRError): never;
    /**
     * Offer auth data on previously agreed on secret bucket, data should be encrypted
     * @summary Offer auth data on secret bucket
     * @param body
     * @param bucket
     */
    offerAuth(bucket: string, body?: ArrayBuffer): Promise<{
        [key: string]: boolean;
    }>;
    /**
     * Publish value with key
     * @summary publish data
     * @param body
     * @param key
     */
    pub(key: string, body?: ArrayBuffer): Promise<{
        [key: string]: boolean;
    }>;
    /**
     * Recover auth data from bucket, data should be encrypted
     * @summary Recover auth data from secret bucket
     * @param bucket
     */
    recoverAuth(bucket: string): Promise<ArrayBuffer>;
    /**
     * Try to get published data
     * @summary subscribe to data
     * @param key
     */
    sub(key: string): Promise<ArrayBuffer>;
}
