import type { Embedded } from '@lcap/nasl-types'; import { TranslatorGenerator } from '@lcap/nasl-translator'; import type Structure from './Structure__'; import type Module from './Module__'; import type Connector from './Connector__'; import type View from './View__'; import type Frontend from './Frontend__'; import type ProcessElement from './ProcessElement__'; import type Process from './Process__'; import ImportedInterface from './ImportedInterface__'; import type InterfaceParam from './InterfaceParam__'; import type Return from './Return__'; import type BindAttribute from './BindAttribute__'; import type Param from './Param__'; import RetryConfig from './RetryConfig__'; /** * 接口 */ export declare class Interface extends ImportedInterface { /** 类名 */ static readonly ConceptName: string; /** * 是否为抽象类 * 抽象类不能产生 concept: string */ static isAbstract: boolean; /** 继承链 */ static readonly inheritanceChain: string[]; /** * 产品概念 */ readonly concept: 'Interface' | 'MicroserviceInterface' | 'GatewayInterface' | 'AuthInterface'; /** * 接口标识 */ name: string; /** * 接口名称 */ title: string; /** * 导出的来源 */ originLogicName?: string; /** * 接口路径 */ path: string; /** * 接口方法 */ method: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH'; /** * 接口描述 */ description?: string; /** * 接口参数列表 */ params: Array; /** * 输出参数列表 */ returns: Array; /** * 验证规则 */ validation?: BindAttribute; /** * 接口协议 */ protocol?: 'HTTP' | 'HTTPS' | 'DUBBO'; /** * 协议参数 */ protocolParams: Array; /** * 重试设置 */ retryConfig?: RetryConfig; /** * @param source 需要合并的部分参数 */ constructor(source?: Partial); static from(source: any, parentNode?: any, parentKey?: string): Interface; /** * 设置接口标识 */ setName(name: string): void; /** * 设置接口名称 */ setTitle(title: string): void; /** * 设置接口路径 */ setPath(path: string): void; /** * 设置接口方法 */ setMethod(method: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH'): void; /** * 设置接口描述 */ setDescription(description: string): void; /** * 设置验证规则 */ setValidation(validation: BindAttribute): void; /** * 设置重试设置 */ setRetryConfig(retryConfig: RetryConfig): void; getInterfaceParamUniqueName(name?: string): string; /** * 插入接口参数 * @internal * @param name 接口参数名称,如果不填会自动生成一个唯一名称 */ _insertInterfaceParamAt(name: string, index: number): InterfaceParam; /** * 插入接口参数 * @internal * @param interfaceParamOptions 接口参数参数 */ _insertInterfaceParamAt(interfaceParamOptions: Partial, index: number): InterfaceParam; /** * 插入接口参数 * @internal * @param interfaceParam 已有的接口参数实例 */ _insertInterfaceParamAt(interfaceParam: InterfaceParam, index: number): InterfaceParam; /** * 插入接口参数 * @param name 接口参数名称,如果不填会自动生成一个唯一名称 */ insertInterfaceParamAt(name: string, index: number): InterfaceParam; /** * 插入接口参数 * @param interfaceParamOptions 接口参数参数 */ insertInterfaceParamAt(interfaceParamOptions: Partial, index: number): InterfaceParam; /** * 插入接口参数 * @param interfaceParam 已有的接口参数实例 */ insertInterfaceParamAt(interfaceParam: InterfaceParam, index: number): InterfaceParam; /** * 添加接口参数 * @internal * @param name 接口参数名称,如果不填会自动生成一个唯一名称 */ _addInterfaceParam(name?: string): InterfaceParam; /** * 添加接口参数 * @internal * @param interfaceParamOptions 接口参数参数 */ _addInterfaceParam(interfaceParamOptions: Partial): InterfaceParam; /** * 添加接口参数 * @internal * @param interfaceParam 已有的接口参数实例 */ _addInterfaceParam(interfaceParam: InterfaceParam): InterfaceParam; /** * 添加接口参数 * @internal * @param name 接口参数名称,如果不填会自动生成一个唯一名称 */ addInterfaceParam(name?: string): InterfaceParam; /** * 添加接口参数 * @param interfaceParamOptions 接口参数参数 */ addInterfaceParam(interfaceParamOptions: Partial): InterfaceParam; /** * 添加接口参数 * @param interfaceParam 已有的接口参数实例 */ addInterfaceParam(interfaceParam: InterfaceParam): InterfaceParam; getReturnUniqueName(name?: string): string; /** * 插入输出参数 * @internal * @param name 输出参数名称,如果不填会自动生成一个唯一名称 */ _insertReturnAt(name: string, index: number): Return; /** * 插入输出参数 * @internal * @param retOptions 输出参数参数 */ _insertReturnAt(retOptions: Partial, index: number): Return; /** * 插入输出参数 * @internal * @param ret 已有的输出参数实例 */ _insertReturnAt(ret: Return, index: number): Return; /** * 插入输出参数 * @param name 输出参数名称,如果不填会自动生成一个唯一名称 */ insertReturnAt(name: string, index: number): Return; /** * 插入输出参数 * @param retOptions 输出参数参数 */ insertReturnAt(retOptions: Partial, index: number): Return; /** * 插入输出参数 * @param ret 已有的输出参数实例 */ insertReturnAt(ret: Return, index: number): Return; /** * 添加输出参数 * @internal * @param name 输出参数名称,如果不填会自动生成一个唯一名称 */ _addReturn(name?: string): Return; /** * 添加输出参数 * @internal * @param retOptions 输出参数参数 */ _addReturn(retOptions: Partial): Return; /** * 添加输出参数 * @internal * @param ret 已有的输出参数实例 */ _addReturn(ret: Return): Return; /** * 添加输出参数 * @internal * @param name 输出参数名称,如果不填会自动生成一个唯一名称 */ addReturn(name?: string): Return; /** * 添加输出参数 * @param retOptions 输出参数参数 */ addReturn(retOptions: Partial): Return; /** * 添加输出参数 * @param ret 已有的输出参数实例 */ addReturn(ret: Return): Return; getParamExistingNames(excludedList?: Array): string[]; getParamUniqueName(name?: string): string; /** * 插入输入参数 * @internal * @param name 输入参数名称,如果不填会自动生成一个唯一名称 */ _insertParamAt(name: string, index: number): Param; /** * 插入输入参数 * @internal * @param paramOptions 输入参数参数 */ _insertParamAt(paramOptions: Partial, index: number): Param; /** * 插入输入参数 * @internal * @param param 已有的输入参数实例 */ _insertParamAt(param: Param, index: number): Param; /** * 插入输入参数 * @param name 输入参数名称,如果不填会自动生成一个唯一名称 */ insertParamAt(name: string, index: number): Param; /** * 插入输入参数 * @param paramOptions 输入参数参数 */ insertParamAt(paramOptions: Partial, index: number): Param; /** * 插入输入参数 * @param param 已有的输入参数实例 */ insertParamAt(param: Param, index: number): Param; /** * 添加输入参数 * @internal * @param name 输入参数名称,如果不填会自动生成一个唯一名称 */ _addParam(name?: string): Param; /** * 添加输入参数 * @internal * @param paramOptions 输入参数参数 */ _addParam(paramOptions: Partial): Param; /** * 添加输入参数 * @internal * @param param 已有的输入参数实例 */ _addParam(param: Param): Param; /** * 添加输入参数 * @internal * @param name 输入参数名称,如果不填会自动生成一个唯一名称 */ addParam(name?: string): Param; /** * 添加输入参数 * @param paramOptions 输入参数参数 */ addParam(paramOptions: Partial): Param; /** * 添加输入参数 * @param param 已有的输入参数实例 */ addParam(param: Param): Param; /** * 删除接口参数 * @param name 接口参数名称 */ removeInterfaceParam(name: string): void; /** * 删除接口参数 * @param interfaceParam 已有的接口参数实例 */ removeInterfaceParam(interfaceParam: InterfaceParam): void; /** * 删除输出参数 * @param name 输出参数名称 */ removeReturn(name: string): void; /** * 删除输出参数 * @param ret 已有的输出参数实例 */ removeReturn(ret: Return): void; /** * 删除输入参数 * @param name 输入参数名称 */ removeParam(name: string): void; /** * 删除输入参数 * @param param 已有的输入参数实例 */ removeParam(param: Param): void; /** * 祖先 Module */ get module(): Module; /** * 祖先 Connector */ get connector(): Connector; /** * 祖先 View */ get view(): View; /** * 祖先 Frontend */ get frontend(): Frontend; /** * 祖先 ProcessElement */ get processElement(): ProcessElement; /** * 祖先 Process */ get process(): Process; /** * 是否可编辑 * */ get readonly(): boolean; static createProtoTypeOnly(source: Partial): Interface; delete(): void; afterDelete(): void; toMockService(): any; toService(): { config: { serviceType: string; }; url: { method: "POST" | "GET" | "PUT" | "DELETE" | "PATCH"; path: string; }; }; /** * 设置接口描述 */ updateOption(source: Partial): void; updateAllRefCallInterface(oldItf: Partial): Promise; deleteLogincAndModule(): void; deleteStructures(): void; /** * 设置逻辑名称 */ setOriginLogicName(originLogicName: string): void; toEmbeddedTSFile(): Embedded.TSFileGenerator; get calleeKey(): string; get calleewholeKey(): string; /** * 生成宿主语言的文件路径 * @param name 一般不用传,用于 rename */ getEmbeddedFilePath(name?: string): string; get tsName(): string; toEmbeddedTS(state?: import("@lcap/nasl-types/out/translator").TranslatorState): TranslatorGenerator; toEmbeddedDeclarationTSFile(): Embedded.DeclarationTSFileResult; toNaturalTS(state?: import("@lcap/nasl-types/out/translator").TranslatorState): string; toTextualNASL(state?: import("@lcap/nasl-types/out/translator").TranslatorState): string; getNamespace(): string; getTsNamespace(): string; getVarExistingNames(excludedList?: Array): string[]; getRefStructures(structures?: Structure[], includeNameList?: string[]): Set; deleteRefStructures(includeNameList?: string[]): void; deleteInterface(): void; get integration(): import("./Integration__").Integration; /** * 是否为SSE 类型的接口 */ isSSE(): boolean; isSame(compareNode: Interface | Partial | null): boolean; } export default Interface; //# sourceMappingURL=Interface__.d.ts.map