import { Request, Response } from "lambda-api"; import { ApiParam } from "../../model/open-api/ApiParam"; import { Principal } from "../../model/security/Principal"; import { ILogger } from "../../util/logging/ILogger"; import { LogFactory } from "../../util/logging/LogFactory"; import { IParameterExtractor, ParameterSource } from "./IParameterExtractor"; export declare abstract class BaseParameterExtractor implements IParameterExtractor { private readonly clazz; readonly apiParamInfo?: ApiParam; protected logger: ILogger; abstract readonly source: ParameterSource; abstract readonly name: string; constructor(clazz: Function, apiParamInfo?: ApiParam); setLogger(logFactory: LogFactory): void; abstract extract(request: Request, response: Response, user: Principal): any; }