import { IChassisContext } from "."; /** * Represents an OAS3 `operation`. The operation is executed by `middleware` feature. * * It combines the OAS3 specification with a flexible request/response processing pipeline. * * The `pipeline` supports `before` pre-processing and `after` post-processing of requests. * * The `pipeline` provides support for OAS3 `security` policy enforcement. * * Every stage of the `pipeline` supports logging and auditing. * * TODO: support request and response validation * */ export interface IOperation { context: IChassisContext; resource: string; method: string; operationId: string; actionId: string; featureId: string; feature: any; spec: any; security: any; getRequestSchema(content_type?: string): any; parameterKeys(type: string): any; response(status: string, content_type: string): any; }