import type { AuxiliaryStrategy } from '../http/auxiliary/AuxiliaryStrategy';
import type { PermissionReaderInput } from './PermissionReader';
import { PermissionReader } from './PermissionReader';
import type { MultiPermissionMap } from './permissions/Permissions';
/**
 * Determines the permissions of auxiliary resources by finding those of the corresponding subject resources.
 */
export declare class AuxiliaryReader extends PermissionReader {
    protected readonly logger: import("global-logger-factory").Logger<unknown>;
    private readonly reader;
    private readonly auxiliaryStrategy;
    constructor(reader: PermissionReader, auxiliaryStrategy: AuxiliaryStrategy);
    handle({ requestedModes, credentials }: PermissionReaderInput): Promise<MultiPermissionMap>;
    /**
     * Maps auxiliary resources that do not have their own authorization checks to their subject resource.
     */
    private findAuxiliaries;
    /**
     * Checks if the identifier is an auxiliary resource that uses subject permissions.
     */
    private isDependentAuxiliary;
}
