import { ExchangeDataManager } from './ExchangeDataManager';
import { XHR } from '../../icc-api/api/XHR';
import { EntityWithDelegationTypeName } from '../utils/EntityWithDelegationTypeName';
export declare const ACCESS_CONTROL_KEYS_HEADER = "Icure-Access-Control-Keys";
/**
 * @internal this class is intended for internal use only and may be changed without notice.
 */
export declare class AccessControlKeysHeadersProvider {
    private readonly exchangeDataManager;
    constructor(exchangeDataManager: ExchangeDataManager);
    /**
     * Add the access control keys headers to the provided initial headers, allowing access control on users with anonymous delegations.
     * @param initialHeaders the initial headers
     * @param entityType the type of entity which the user is attempting to retrieve.
     */
    addAccessControlKeysHeaders(initialHeaders: XHR.Header[], entityType: EntityWithDelegationTypeName): Promise<XHR.Header[]>;
    getAccessControlKeysHeaders(entityType: EntityWithDelegationTypeName): Promise<XHR.Header[]>;
}
