import type { PermissionMap } from '@solidlab/policy-engine';
import { StatusUnionHandler } from '../util/handlers/StatusUnionHandler';
import type { PermissionReader } from './PermissionReader';
import type { MultiPermissionMap } from './permissions/Permissions';
/**
 * Combines the results of multiple PermissionReaders.
 * Every permission in every credential type is handled according to the rule `false` \> `true` \> `undefined`.
 */
export declare class UnionPermissionReader extends StatusUnionHandler<PermissionReader> {
    constructor(readers: PermissionReader[]);
    protected combine(results: MultiPermissionMap[]): Promise<MultiPermissionMap>;
    /**
     * Merges all entries of the given map into the result map.
     */
    protected mergePermissionMaps(permissionMap: MultiPermissionMap, result: MultiPermissionMap): void;
    /**
     * Adds the given permissions to the result object according to the combination rules of the class.
     */
    protected mergePermissions(permissions: PermissionMap, result: PermissionMap): PermissionMap;
}
