import { CloudFrontRequestEvent, CloudFrontRequestResult, CloudFrontResponseEvent, CloudFrontResponseResult, Context } from 'aws-lambda'; import { Origin } from './services'; import { EventType } from './types'; import { ModuleLoader } from './utils'; export type AsyncCloudFrontRequestHandler = (event: CloudFrontRequestEvent, context: Context) => Promise; export type AsyncCloudFrontResponseHandler = (event: CloudFrontResponseEvent, context: Context) => Promise; export declare class FunctionSet { readonly pattern: string; readonly distribution: string; private readonly log; readonly origin: Origin; readonly name: string; protected readonly moduleLoader: ModuleLoader; readonly regex: RegExp; viewerRequest: Annotated; originRequest: Annotated; originResponse: Annotated; viewerResponse: Annotated; constructor(pattern: string, distribution: string, log: (message: string) => void, origin?: Origin, name?: string); setHandler(event: EventType, path: string): Promise; getRequestHandler(path: string): Promise; getResponseHandler(path: string): Promise; purgeLoadedFunctions(): void; }