import { SwaggerJson, GuardConfig, String2StringMap } from './consts';
/**
 * @description 对 swagger 返回做安全检测
 * 前提:
 *  - http method + url 唯一
 *  - 后端变更 http method、url 必须周知前端
 */
declare type API = SwaggerJson['paths']['a']['get'];
/** Name_1 格式的 operationId */
export declare const dangerousOperationIdReg: RegExp;
export declare const defaultPrefixReg: Required<GuardConfig>['prefixReg'];
export declare const defaultBadParamsReg: Required<GuardConfig>['badParamsReg'];
export interface HttpMethodUrl2APIMap {
    [url: string]: API;
}
/**
 * 构建 http method + url : oldOperationId 安全映射，用以校正风险 swagger
 */
export declare function operationIdGuard(swagger: SwaggerJson, config?: GuardConfig): {
    errors: any[];
    warnings: never[];
    suggestions: never[];
} | {
    errors: string[];
    warnings: string[];
    suggestions: (string | String2StringMap)[];
} | {
    errors: string[];
    warnings: string[];
    suggestions: (string | {
        guardConfig: {
            methodUrl2OperationIdMap: String2StringMap;
        };
    })[];
};
export declare const DefaultUnstableTagsReg: Required<GuardConfig>['unstableTagsReg'];
export declare const DefaultValidTagsReg: Required<GuardConfig>['validTagsReg'];
export declare const DefaultValidDefinitionReg: Required<GuardConfig>['validDefinitionReg'];
export declare const DefaultValidUrlReg: Required<GuardConfig>['validUrlReg'];
/**
 * 严格模式特有校验逻辑
 */
export declare function strictModeGuard(swagger: SwaggerJson, config: GuardConfig): Promise<{
    errors: string[];
    warnings: string[];
}>;
export {};
