export declare const Kind = "Core#WebApi";
/**
 * @deprecated This was used in the old version of ARC.
 */
export interface ILegacyRestApi {
    /**
     * The ID of the index item that this entry refers to.
     */
    indexId: string;
    /**
     * Version name of the API
     */
    version: string;
    /**
     * API data model. It is the output of the AMF parser run on the API.
     */
    data: string;
    /**
     * The AMF parser version used to parse this document.
     */
    amfVersion?: string;
}
export interface IWebApi {
    kind: typeof Kind;
    /**
     * The ID of the index item that this entry refers to.
     */
    indexId: string;
    /**
     * Version name of the API
     */
    version: string;
    /**
     * API data model. It is the output of the AMF parser run on the API.
     * This is left for compatibility.
     * @deprecated This was used in the old version of ARC. v18 uses the `path` with the location of the API project.
     */
    data?: string;
    /**
     * The AMF parser version used to parse this document.
     * This is left for compatibility.
     * @deprecated This was used in the old version of ARC. v18 does not use this information.
     */
    amfVersion?: string;
    /**
     * The location of the API project. This can be any URI to get the sources of the API project.
     */
    path: string;
    /**
     * Optional information to point to the API's main file.
     */
    main?: string;
    /**
     * The API format's media type.
     */
    mime?: string;
    /**
     * The API vendor. E.g. RAML 1.0, OAS 3.0, ASYNC 2.0, ...
     */
    vendor?: string;
}
export declare class WebApi {
    kind: string;
    /**
     * The ID of the index item that this entry refers to.
     */
    indexId: string;
    /**
     * Version name of the API
     */
    version: string;
    /**
     * API data model. It is the output of the AMF parser run on the API.
     * This is left for compatibility.
     * @deprecated This was used in the old version of ARC. v18 uses the `path` with the location of the API project.
     */
    data?: string;
    /**
     * The AMF parser version used to parse this document.
     * This is left for compatibility.
     * @deprecated This was used in the old version of ARC. v18 does not use this information.
     */
    amfVersion?: string;
    /**
     * The location of the API project. This can be any URI to get the sources of the API project.
     */
    path: string;
    /**
     * Optional information to point to the API's main file.
     */
    main?: string;
    /**
     * The API format's media type.
     */
    mime?: string;
    /**
     * The API vendor. E.g. RAML 1.0, OAS 3.0, ASYNC 2.0, ...
     */
    vendor?: string;
    /**
     * Checks whether the object represents a legacy way of storing the web API data.
     */
    get isLegacy(): boolean;
    /**
     * Checks whether the object is the legacy schema for web API (formally known as RestAPI)
     */
    static isLegacy(api: unknown): boolean;
    static fromLegacy(api: ILegacyRestApi): WebApi;
    /**
     * Creates an identifier of this web API object.
     * @param indexId The id of the corresponding index item. This is usually the base URI of the API.
     * @param version The version name of this web API.
     * @returns The unique and reversible identifier of this web API.
     */
    static createId(indexId: string, version: string): string;
    constructor(input?: string | IWebApi);
    new(init: IWebApi): void;
    toJSON(): IWebApi;
}
//# sourceMappingURL=WebApi.d.ts.map