/************************************************************************* * * Troven CONFIDENTIAL * __________________ * * (c) 2017-2020 Troven Ventures Pty Ltd * All Rights Reserved. * * NOTICE: All information contained herein is, and remains * the property of Troven Pty Ltd and its licensors, * if any. The intellectual and technical concepts contained * herein are proprietary to Troven Pty Ltd * and its suppliers and may be covered by International and Regional Patents, * patents in process, and are protected by trade secret or copyright law. * Dissemination of this information or reproduction of this material * is strictly forbidden unless prior written permission is obtained * from Troven Pty Ltd. */ import { IChassisContext, IOpenAPIv3 } from "../interfaces"; import { Paths, Security } from "./OpenAPI"; import { Schemas } from "./Schemas"; import { Operation } from "./Operation"; export { Paths } from "./Paths"; export { Security } from "./Security"; export declare class OpenAPI { protected context: IChassisContext; schemas: Schemas; paths: Paths; security: Security; spec: any; ix_tags: any; /** * openapi_spec is merged from static settings. * * The default title and version are inferred from the chassis pkg. * The "openapi" key within config is used as the service default * Finally, the '_openapi_spec' are considered the authoriative source. * */ constructor(context: IChassisContext); load(orginal_spec: IOpenAPIv3): any; add(oper: Operation): Operation; /** * merge each of our OAS fragments into a single OAS specification * * @param args * @returns {any} */ private safely_merge_specs; index_tags(tags: any): any; getTags(): any[]; }