import type { OpenAPI, OpenAPIV3_1 } from '@scalar/openapi-types';
import { XScalarStability } from '@scalar/types/legacy';
type PropertyObject = {
    required?: string[];
    properties: {
        [key: string]: {
            type: string;
            description?: string;
        };
    };
};
/**
 * Formats a property object into a string.
 */
export declare function formatProperty(key: string, obj: PropertyObject): string;
/**
 * Extracts the request body from an operation.
 */
export declare function extractRequestBody(operation: OpenAPIV3_1.OperationObject): string[] | boolean;
/**
 * Returns all models from the specification, no matter if it’s OpenAPI 3.x.
 */
export declare function getModels(document?: OpenAPIV3_1.Document): Record<string, OpenAPIV3_1.SchemaObject>;
/**
 * Checks if the OpenAPI document has schemas.
 */
export declare const hasModels: (content?: OpenAPIV3_1.Document) => boolean;
/**
 * Checks if the OpenAPI document has webhooks.
 */
export declare const hasWebhooks: (document?: OpenAPIV3_1.Document) => boolean;
/**
 * Deep merge for objects
 */
export declare function deepMerge(source: Record<any, any>, target: Record<any, any>): Record<any, any>;
/**
 * Creates an empty specification object.
 * The returning object has the same structure as a valid OpenAPI specification, but everything is empty.
 */
export declare function createEmptySpecification(partialSpecification?: Partial<OpenAPI.Document>): OpenAPI.Document;
/**
 * Returns if an operation is considered deprecated.
 */
export declare function isOperationDeprecated(operation: OpenAPIV3_1.OperationObject): boolean;
/**
 * Get operation stability.
 */
export declare function getOperationStability(operation: OpenAPIV3_1.OperationObject): XScalarStability | undefined;
/**
 * Get Operation stability color
 */
export declare function getOperationStabilityColor(operation: OpenAPIV3_1.OperationObject): string;
export {};
//# sourceMappingURL=openapi.d.ts.map