import { ParsedUrlQuery } from "querystring"; import { FilePosition, MutableStringMap, StringMap } from "@azure-tools/openapi-tools-common"; import { LoggingFn, LowerHttpMethods, Operation, Response, TransformFn } from "../swagger/swaggerTypes"; import { SchemaValidateContext, SchemaValidateIssue } from "../swaggerValidator/schemaValidator"; import { ApiValidationErrorCode, TrafficValidationErrorCode } from "../util/errorDefinitions"; import { LiveValidationIssue } from "./liveValidator"; import { LiveValidatorLoader } from "./liveValidatorLoader"; import { OperationMatch } from "./operationSearcher"; export interface ValidationRequest { providerNamespace: string; resourceType?: string; apiVersion: string; requestMethod?: LowerHttpMethods; host?: string; pathStr?: string; query?: ParsedUrlQuery; correlationId?: string; activityId?: string; requestUrl?: string; specName?: string; } export interface OperationContext { operationId: string; apiVersion: string; operationMatch?: OperationMatch; validationRequest?: ValidationRequest; position?: FilePosition | undefined; } export interface LiveRequest { query?: ParsedUrlQuery; readonly url: string; readonly method: string; headers?: { [propertyName: string]: string; }; body?: StringMap; } export interface LiveResponse { statusCode: string; headers?: { [propertyName: string]: string; }; body?: StringMap; } export declare const validateSwaggerLiveRequest: (request: LiveRequest, operationContext: OperationContext, loader?: LiveValidatorLoader, includeErrors?: ApiValidationErrorCode[], isArmCall?: boolean, logging?: LoggingFn) => Promise; export declare const validateSwaggerLiveResponse: (response: LiveResponse, operationContext: OperationContext, loader?: LiveValidatorLoader, includeErrors?: ApiValidationErrorCode[], isArmCall?: boolean, logging?: LoggingFn) => Promise; export declare const transformBodyValue: (body: any, operation: Operation) => any; export declare const transformLiveHeader: (headers: StringMap, it: Operation | Response) => StringMap; export declare const transformMapValue: (data?: MutableStringMap>, transforms?: StringMap) => void; export declare const schemaValidateIssueToLiveValidationIssue: (input: SchemaValidateIssue[], operation: Operation, ctx: SchemaValidateContext, output: LiveValidationIssue[], _operationContext: OperationContext, _isArmCall?: boolean, _logging?: LoggingFn, _bodyPayload?: any) => void; export declare const issueFromErrorCode: (code: TrafficValidationErrorCode, param: any, relatedSchema?: {}) => LiveValidationIssue; //# sourceMappingURL=operationValidator.d.ts.map