import { SchemaNodeData } from '../types/schema'; export declare const X_PARSER_ORIGINAL_PAYLOAD = "x-parser-original-payload"; /** Marker set by the with-parser fail-soft path when conversion throws. */ export declare const X_LIB_CONVERSION_ERROR = "x-lib-conversion-error"; export interface ResolvedSchemaInput { /** The JSON-Schema-shaped object SchemaTree/Examples should render. */ schema: SchemaNodeData; /** The declared schemaFormat, when the input was a multi-format wrapper. */ schemaFormat?: string; /** The source schema (e.g. raw Avro), when a conversion happened. */ originalSchema?: unknown; /** Set when an Avro/Protobuf format was declared but conversion failed; * `schema` falls back to the raw definition (or `{}` when the raw input is * not object-shaped, e.g. protobuf source text). */ conversionError?: string; /** Description to display: the resolved schema's own `description`, falling * back to one carried on the multi-format wrapper (not spec-defined there, * but tolerated — the parser passes it through untouched). */ description?: string; /** True while a Protobuf schema's converter is still being lazy-loaded — * `schema` is a placeholder until then. See lazyProtoToJsonSchema.ts. */ pendingConversion?: boolean; } export declare function isAvroSchemaFormat(format: unknown): boolean; export declare function isProtobufSchemaFormat(format: unknown): boolean; export declare function isMultiFormatSchema(value: unknown): value is { schemaFormat: string; schema: unknown; } & Record; /** Short badge text for a declared schemaFormat, e.g. "avro 1.9.0"; null for * the default AsyncAPI / JSON Schema formats that need no callout. */ export declare function schemaFormatBadge(format: unknown): string | null; /** Human-readable name for a declared schemaFormat, used in messages like * "Could not convert Avro schema"; null when the format has no short name * (callers phrase around it, e.g. "Could not convert the schema"). */ export declare function schemaFormatName(format: unknown): string | null; /** Whether the Example tab can safely generate samples via json-schema-faker. * Formats the lib converts (Avro, Protobuf) qualify; other non-JSON-Schema * multi-format bodies (RAML, …) are excluded. */ export declare function supportsGeneratedExamples(schemaFormat?: string, conversionError?: string): boolean; /** * Discriminates a raw Avro definition from an already-converted JSON Schema, * for the case where a document declares an Avro schemaFormat but the schema * may have been converted upstream. Ambiguous leaves (e.g. {type:"string"}) * count as raw — converting them is harmless. */ export declare function looksLikeRawAvro(value: unknown): boolean; /** * Normalizes any payload/headers/components.schemas entry for rendering: * unwraps v3 multi-format wrappers and converts raw Avro to JSON Schema when * an Avro schemaFormat is declared. Never throws. * * When `deref` is provided, a top-level `$ref` is resolved first so multi-format * Avro wrappers behind a ref still convert (and surface format/error metadata). */ export declare function resolveSchemaInput(input: unknown, deref?: (ref: string) => unknown): ResolvedSchemaInput;