import { NextFunction, Response, Request } from 'express';
import { JwtService } from '../../services/jwt.service';
import { OAuthTokenVerifierProxy, type UserWithContext } from '../../services/oauth-token-verifier-proxy.service';
import { Telemetry } from '../../telemetry';
import { McpServerApiKeyService } from './mcp-api-key.service';
import { McpProtectedResource } from './mcp-protected-resource';
export declare class McpServerMiddlewareService {
    private readonly mcpServerApiKeyService;
    private readonly oauthTokenVerifier;
    private readonly mcpProtectedResource;
    private readonly jwtService;
    private readonly telemetry;
    constructor(mcpServerApiKeyService: McpServerApiKeyService, oauthTokenVerifier: OAuthTokenVerifierProxy, mcpProtectedResource: McpProtectedResource, jwtService: JwtService, telemetry: Telemetry);
    getUserForToken(token: string): Promise<UserWithContext>;
    getAuthMiddleware(): (req: Request, res: Response, next: NextFunction) => Promise<void>;
    private extractBearerToken;
    private responseWithUnauthorized;
    private trackUnauthorizedEvent;
}
