import * as lambda from 'aws-cdk-lib/aws-lambda';
import { Construct } from 'constructs';
export interface ITokenValidationStrategyAjvJsonSchemaValidator {
    readonly strategyName: 'schema';
    readonly schema: string;
}
export interface ITokenVerificationStrategyArgument {
    readonly strategyName: 'argument';
    readonly secret: string;
}
export interface ITokenVerificationStrategyJwksFromUriByKid {
    readonly strategyName: 'jwksFromUriByKid';
    readonly uri: string;
    readonly kid: string;
}
export interface ITokenAuthorizerOptions {
    readonly verificationStrategy: ITokenVerificationStrategyArgument | ITokenVerificationStrategyJwksFromUriByKid;
    readonly payloadValidationStrategy?: ITokenValidationStrategyAjvJsonSchemaValidator;
}
export interface TokenAuthorizerFunctionOptions extends lambda.FunctionOptions {
    readonly tokenAuthorizerOptions: ITokenAuthorizerOptions;
}
export declare class TokenAuthorizerJwtFunction extends lambda.Function {
    constructor(scope: Construct, id: string, props: TokenAuthorizerFunctionOptions);
}
