import type Operation from '../operation';
import type { OASDocument, SchemaObject } from '../rmoas.types';
export interface SchemaWrapper {
    $schema?: string;
    deprecatedProps?: SchemaWrapper;
    description?: string;
    label?: string;
    schema: SchemaObject;
    type: string;
}
/**
 * The order of this object determines how they will be sorted in the compiled JSON Schema
 * representation.
 *
 * @see {@link https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.3.md#parameterObject}
 * @see {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#parameterObject}
 */
export declare const types: Record<keyof OASDocument, string>;
export interface getParametersAsJSONSchemaOptions {
    /**
     * Contains an object of user defined schema defaults.
     */
    globalDefaults?: Record<string, unknown>;
    /**
     * If you wish to hide properties that are marked as being `readOnly`.
     */
    hideReadOnlyProperties?: boolean;
    /**
     * If you wish to hide properties that are marked as being `writeOnly`.
     */
    hideWriteOnlyProperties?: boolean;
    /**
     * If you wish to include discriminator mapping `$ref` components alongside your
     * `discriminator` in schemas. Defaults to `true`.
     */
    includeDiscriminatorMappingRefs?: boolean;
    /**
     * If you want the output to be two objects: body (contains `body` and `formData` JSON
     * Schema) and metadata (contains `path`, `query`, `cookie`, and `header`).
     */
    mergeIntoBodyAndMetadata?: boolean;
    /**
     * If you wish to **not** split out deprecated properties into a separate `deprecatedProps`
     * object.
     */
    retainDeprecatedProperties?: boolean;
    /**
     * With a transformer you can transform any data within a given schema, like say if you want
     * to rewrite a potentially unsafe `title` that might be eventually used as a JS variable
     * name, just make sure to return your transformed schema.
     */
    transformer?: (schema: SchemaObject) => SchemaObject;
}
export default function getParametersAsJSONSchema(operation: Operation, api: OASDocument, opts?: getParametersAsJSONSchemaOptions): SchemaWrapper[];
