import type { CredentialsExtractor } from '../../../authentication/CredentialsExtractor';
import type { Authorizer } from '../../../authorization/Authorizer';
import type { PermissionReader } from '../../../authorization/PermissionReader';
import type { ResponseDescription } from '../../../http/output/response/ResponseDescription';
import type { InteractionRoute } from '../../../identity/interaction/routing/InteractionRoute';
import type { OperationHttpHandlerInput } from '../../OperationHttpHandler';
import { OperationHttpHandler } from '../../OperationHttpHandler';
import type { NotificationGenerator } from '../generate/NotificationGenerator';
import type { NotificationSerializer } from '../serialize/NotificationSerializer';
import type { StreamingHttpMap } from './StreamingHttpMap';
/**
 * Handles request to Streaming HTTP receiveFrom endopints.
 * All allowed requests are stored in the {@link StreamingHttpMap}
 */
export declare class StreamingHttpRequestHandler extends OperationHttpHandler {
    private readonly streamMap;
    private readonly route;
    private readonly generator;
    private readonly serializer;
    private readonly credentialsExtractor;
    private readonly permissionReader;
    private readonly authorizer;
    protected logger: import("global-logger-factory").Logger<unknown>;
    constructor(streamMap: StreamingHttpMap, route: InteractionRoute, generator: NotificationGenerator, serializer: NotificationSerializer, credentialsExtractor: CredentialsExtractor, permissionReader: PermissionReader, authorizer: Authorizer);
    handle({ operation, request }: OperationHttpHandlerInput): Promise<ResponseDescription>;
    private authorize;
}
