import { EntityBulkShareResult } from '../../model/requests/EntityBulkShareResult';
import { XHR } from '../XHR';
import { AuthenticationProvider } from '../../../icc-x-api';
import { SecureDelegationKeyMap } from '../../model/internal/SecureDelegationKeyMap';
import { ListOfIds } from '../../model/ListOfIds';
import { BulkShareOrUpdateMetadataParams } from '../../model/requests/BulkShareOrUpdateMetadataParams';
/**
 * @internal this class is for internal use only and may be changed without notice.
 */
export declare class IccSecureDelegationKeyMapApi {
    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>);
    get headers(): Promise<Array<XHR.Header>>;
    setHeaders(h: Array<XHR.Header>): void;
    handleError(e: XHR.XHRError): never;
    getByDelegationKeys(delegationKeys: ListOfIds, proofOfAccessHeaders: XHR.Header[]): Promise<SecureDelegationKeyMap[]>;
    create(delegationKeyMap: SecureDelegationKeyMap, proofOfAccessHeader: XHR.Header): Promise<SecureDelegationKeyMap>;
    bulkShareSecureDelegationKeyMap(request: BulkShareOrUpdateMetadataParams, proofOfAccessHeaders: XHR.Header[]): Promise<EntityBulkShareResult<SecureDelegationKeyMap>[]>;
}
