import type { OpenAPISchema, OpenAPIParameter, OpenAPIResponse, OpenAPIRequestBody, Referenced, OpenAPIDefinition } from '@redocly/openapi-docs/lib/types/open-api.js';
import type { ApiDescriptionInfo } from '../types.js';
export declare function findApiDescriptionByNameAndVersion(apiDescriptionsMap: Record<string, ApiDescriptionInfo>, name: string, version?: string): ApiDescriptionInfo | undefined;
export declare function filterApiDescriptionsByName(apiDescriptionsMap: ApiDescriptionInfo[], filter: string): ApiDescriptionInfo[];
export declare function resolveRef<T>(ref: string, def?: OpenAPIDefinition): T | undefined;
type ResolveSchemaRefsParams = {
    schema: Referenced<OpenAPISchema> | undefined;
    definition: OpenAPIDefinition;
    visitedRefs?: Set<string>;
    maxDepth?: number;
    currentDepth?: number;
};
export declare function resolveSchemaRefs({ schema, definition, visitedRefs, maxDepth, currentDepth }: ResolveSchemaRefsParams): OpenAPISchema | undefined;
type ResolveParametersParams = {
    pathParams: Referenced<OpenAPIParameter>[];
    opParams: Referenced<OpenAPIParameter>[];
    definition: OpenAPIDefinition;
};
export declare function resolveParameters({ pathParams, opParams, definition }: ResolveParametersParams): OpenAPIParameter[];
export declare function resolveRequestBody(requestBody: Referenced<OpenAPIRequestBody> | undefined, definition: OpenAPIDefinition): OpenAPIRequestBody | undefined;
export declare function resolveResponses(responses: Record<string, Referenced<OpenAPIResponse>>, definition: OpenAPIDefinition): Record<string, OpenAPIResponse>;
export {};
//# sourceMappingURL=utils.d.ts.map