import { TranslatorGenerator } from '@lcap/nasl-translator';
import { Embedded } from '@lcap/nasl-types';
import AuthLogic from './AuthLogic__';
import type Param from './Param__';
/**
* 调用接口的鉴权逻辑
*/
export declare class AuthLogicForCallInterface extends AuthLogic {
/** 类名 */
static readonly ConceptName: string;
/**
* 是否为抽象类
* 抽象类不能产生 concept: string
*/
static isAbstract: boolean;
/** 继承链 */
static readonly inheritanceChain: string[];
/**
* 产品概念
*/
readonly concept: 'AuthLogicForCallInterface';
/**
* 鉴权配置参数, 调用接口鉴权独有
*/
authParams: Array;
/**
* @param source 需要合并的部分参数
*/
constructor(source?: Partial);
static from(source: any, parentNode?: any, parentKey?: string): AuthLogicForCallInterface;
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 输入参数名称
*/
removeParam(name: string): void;
/**
* 删除输入参数
* @param param 已有的输入参数实例
*/
removeParam(param: Param): void;
get tsName(): string;
toEmbeddedTS(state?: import("@lcap/nasl-types/out/translator").TranslatorState, prefix?: string): TranslatorGenerator;
static getDefaultOptions(): {
body: {
concept: string;
label: string;
kind: string;
type: string;
}[];
params: {
concept: string;
name: string;
description: string;
typeAnnotation: {
concept: string;
typeKind: string;
typeNamespace: string;
typeName: string;
typeArguments: {
concept: string;
typeKind: string;
typeNamespace: string;
typeName: string;
}[];
};
required: boolean;
}[];
returns: any[];
};
/**
* 生成宿主语言的文件路径
* @param name 一般不用传,用于 rename
*/
getEmbeddedFilePath(name?: string): string;
toEmbeddedDeclarationTSFile(): Embedded.DeclarationTSFileResult;
getTsNamespace(): string;
}
export default AuthLogicForCallInterface;
//# sourceMappingURL=AuthLogicForCallInterface__.d.ts.map