import { IDefinition, IDefinitionConfig, IServerlessFunctionConfig } from './types'; export declare class DefinitionGenerator { version: string; definition: IDefinition; config: IDefinitionConfig; /** * Constructor * @param serviceDescriptor IServiceDescription */ constructor(config: IDefinitionConfig); parse(): this; validate(): { valid: boolean; context: string[]; warnings: any[]; error?: any[]; }; /** * Add Paths to OpenAPI Configuration from Serverless function documentation * @param config Add */ readFunctions(config: IServerlessFunctionConfig[]): void; /** * Cleans schema objects to make them OpenAPI compatible * @param schema JSON Schema Object */ private cleanSchema(schema); /** * Generate Operation objects from the Serverless Config. * * @link https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/3.0.0.md#operationObject * @param funcName * @param documentationConfig */ private getOperationFromConfig(funcName, documentationConfig); /** * Derives Path, Query and Request header parameters from Serverless documentation * @param documentationConfig */ private getParametersFromConfig(documentationConfig); /** * Derives request body schemas from event documentation configuration * @param documentationConfig */ private getRequestBodiesFromConfig(documentationConfig); private attachExamples(target, config); /** * Gets response bodies from documentation config * @param documentationConfig */ private getResponsesFromConfig(documentationConfig); private getResponseContent(response); private getHttpEvents(funcConfig); }