import type { GenerateServiceProps } from '../index';
import { OpenAPIObject } from '../type';
import { ControllerType, ISchemaItem, ITypeItem, TagAPIDataType } from './type';
export default class ServiceGenerator {
    protected apiData: TagAPIDataType;
    protected classNameList: ControllerType[];
    protected config: GenerateServiceProps;
    protected openAPIData: OpenAPIObject;
    protected schemaList: ISchemaItem[];
    protected interfaceTPConfigs: ITypeItem[];
    constructor(config: GenerateServiceProps, openAPIData: OpenAPIObject);
    genFile(): void;
    private getInterfaceTPConfigs;
    private getServiceTPConfigs;
    private genFileFromTemplate;
    private getTemplate;
    private getFunctionName;
    private getType;
    private getFunctionParamsTypeName;
    private getBodyTP;
    private getFileTP;
    private resolveFileTP;
    private getResponseTP;
    private getParamsTP;
    private resolveObject;
    private resolveArray;
    private resolveProperties;
    private resolveEnumObject;
    private resolveAllOfObject;
    private getProps;
    private resolveRefObject;
    log(message: string): void;
    private generateInfoLog;
    /**
     * 校验规则
     * @param regexp 正则数组
     * @param data 数据
     */
    private validateRegexp;
    /**
     *
     * @param item 数组数据
     * @param reg 规则
     */
    private matches;
}
