import { OpenApi } from "../OpenApi";
/**
 * OpenAPI schema related error.
 *
 * `IOpenApiSchemaError` is a type representing an error that occurred during the
 * iteration or transformation of the OpenAPI schema (JSON schema) of
 * {@link OpenApi.IJsonSchema} type.
 *
 * The most `IOpenApiSchemaError` is occurred by the transformation process from
 * {@link OpenApi.IJsonSchema} to {@link ILlmSchema} type. The transformation can
 * be failed by following reasons:
 *
 * - Unable to find the {@link OpenApi.IJsonSchema.IReference} directing.
 * - Non-supported type in LLM schema models
 *   - Every models do not support {@link OpenApi.IJsonSchema.ITuple}
 *   - Gemini does not support {@link OpenApi.IJsonSchema.IOneOf}
 *   - ChatGPT and Gemini do not support {@link OpenApi.IJsonSchema.IObject.additionalProperties}
 *
 * @author Jeongho Nam - https://github.com/samchon
 */
export interface IOpenApiSchemaError {
    /**
     * Method that caused the error.
     */
    method: string;
    /**
     * Message of the error.
     */
    message: string;
    /**
     * The detailed reasons of the error.
     */
    reasons: IOpenApiSchemaError.IReason[];
}
export declare namespace IOpenApiSchemaError {
    /**
     * Detailed reason of the error.
     */
    interface IReason {
        /**
         * Schema that caused the error.
         */
        schema: OpenApi.IJsonSchema;
        /**
         * Accessor to the schema.
         */
        accessor: string;
        /**
         * Message of the reason.
         */
        message: string;
    }
}
