import express from 'express';
import { Credentials } from '@microsoft/teams.api';
import { ILogger } from '@microsoft/teams.common';
import { IClientContext } from '../contexts';
import { JwtValidator } from './auth/jwt-validator';
export type WithRemoteFunctionJwtValidationParams = Partial<Credentials> & {
    entraTokenValidator?: Pick<JwtValidator, 'validateAccessToken'>;
    readonly logger: ILogger;
};
export type JwtRemoteFunctionRequest = express.Request & {
    context?: IClientContext;
};
/**
 * JWT validation middleware used to validate the entra token when remote functions are invoked.
 */
export declare function withRemoteFunctionJwtValidation(params: WithRemoteFunctionJwtValidationParams): (req: JwtRemoteFunctionRequest, res: express.Response, next: express.NextFunction) => Promise<void>;
