import { PontxAPI } from "./api.js"; import { ExternalDocumentationObject, PontxJsonSchema } from "./schema.js"; import { OAS3 } from "oas-spec-ts"; export type PontxComponents = { schemas: Record; responses?: string; parameters?: string; examples?: string; requestBodies?: string; headers?: string; securitySchemes?: { [x: string]: OAS3.SecuritySchemeObject; }; links?: string; callbacks?: string; }; export type TagGroup = { name: string; apis: Record; description?: string; }; export declare class PontxSpec { name: string; info?: OAS3.InfoObject; pontx?: string; components?: PontxComponents; apis: Record; tags?: OAS3.TagObject[]; servers?: OAS3.ServerObject[]; externalDocs?: ExternalDocumentationObject; envs?: { [x: string]: Partial; }; security?: Array<{ [x: string]: string[]; }>; style?: "RPC" | "RESTFul" | "GraphQL"; ext?: any; static reOrder(ds: PontxSpec): PontxSpec; static checkHasMods(spec: PontxSpec): boolean; static getNamespaceNames(spec: PontxSpec): string[]; static getTagGroups(spec: PontxSpec): TagGroup[]; static addApi(spec: PontxSpec, apiName: string, apiSpec: PontxAPI): PontxSpec; static addStruct(spec: PontxSpec, structName: string, struct: PontxJsonSchema): PontxSpec; static addNamespace(spec: PontxSpec, namespace: string, title: string): PontxSpec; static removeApi(spec: PontxSpec, apiName: string): PontxSpec; static removeStruct(spec: PontxSpec, structName: string): PontxSpec; static udpateApi(spec: PontxSpec, apiName: string, apiSpec: PontxAPI): PontxSpec; static reNameApi(spec: PontxSpec, fullApiName: string, newFullApiName: string): PontxSpec; static reNameStruct(spec: PontxSpec, structName: any, newStructName: string): PontxSpec; static reNameTag(spec: PontxSpec, tagName: string, newTagName: string): PontxSpec; static udpateStruct(spec: PontxSpec, structName: string, struct: PontxJsonSchema): PontxSpec; static getApisInNamespace(spec: PontxSpec, namespaceName: string): string[]; static moveApi(spec: PontxSpec, apiName: string, namespace: string): PontxSpec; static getMeta(spec: PontxSpec, metaType: "api" | "struct" | "tag", metaName: string): PontxJsonSchema | PontxAPI | OAS3.TagObject; static getSubSpecByTags(spec: PontxSpec, tagNames: string[]): PontxSpec; static getSubSpecWithTag(spec: PontxSpec, tagName: string): PontxSpec; static getSubSpecWithAPIKey(spec: PontxSpec, apiKey: string): PontxSpec; static getSubSpecWithStruct(spec: PontxSpec, structName: string): PontxSpec; static removeUnUsedStructs(spec: PontxSpec): PontxSpec; static serialize(ds: PontxSpec): string; static constructorByName(name: string): PontxSpec; static isEmptySpec(spec: PontxSpec): boolean; static getSchemasCnt(spec: PontxSpec): number; } export declare class PontxSpecs { static updateSpec(specs: PontxSpec[], specName: string, newSpec: PontxSpec): PontxSpec[]; static checkIsSingleSpec(specs: PontxSpec[]): boolean; static getSpecByName: (specs: PontxSpec[], specName: string) => PontxSpec; }