import type { OpenAPI } from 'openapi-types';
import openapiParser from '@readme/openapi-parser';
import * as utils from './lib/utils';
export interface Options {
    colorizeErrors?: boolean;
    enablePaths?: boolean;
}
export declare const isAPIDefinition: typeof utils.isAPIDefinition;
export declare const getAPIDefinitionType: typeof utils.getAPIDefinitionType;
export default class OASNormalize {
    cache: {
        bundle?: false | OpenAPI.Document;
        deref?: false | OpenAPI.Document;
        load?: false | Record<string, unknown>;
    };
    file: any;
    opts: Options;
    type: ReturnType<typeof utils.getType>;
    constructor(file: any, opts?: Options);
    /**
     * @private
     */
    load(): Promise<any>;
    /**
     * @private
     */
    static convertPostmanToOpenAPI(schema: any): Promise<any>;
    /**
     * Bundle up the given API definition, resolving any external `$ref` pointers in the process.
     *
     */
    bundle(): Promise<OpenAPI.Document<{}>>;
    /**
     * Dereference the given API definition.
     *
     */
    deref(): Promise<OpenAPI.Document<{}>>;
    /**
     * Validate, and potentially convert to OpenAPI, a given API definition.
     *
     */
    validate(opts?: {
        /**
         * Automatically convert the supplied API definition to the latest version of OpenAPI.
         */
        convertToLatest?: boolean;
        parser?: openapiParser.Options;
    }): Promise<any>;
    /**
     * Retrieve OpenAPI, Swagger, or Postman version information about the supplied API definition.
     *
     */
    version(): Promise<{
        specification: string;
        version: any;
    }>;
}
