import type { OpenAPIV3 } from '@scalar/openapi-types';
import type { OpenAPIDocument, ParsedOpenAPI } from '../types';
export declare function OpenApi({ spec, }?: {
    spec: ParsedOpenAPI | OpenAPIDocument | null;
}): {
    spec: OpenAPIDocument;
    setSpec: (spec: any) => void;
    getSpec: () => OpenAPIDocument;
    getOperation: (operationId: string) => any;
    getOperationPath: (operationId: string) => string | null;
    getOperationMethod: (operationId: string) => string | null;
    getOperationParameters: (operationId: string) => any;
    getPaths: () => OpenAPIV3.PathsObject;
    getPathsByVerbs: () => ({
        path: string;
        verb: string;
        operationId: any;
        summary: any;
        tags: any;
    } | null)[];
    getInfo: () => OpenAPIV3.InfoObject & Omit<OpenAPIV3.InfoObject, "license" | "summary"> & {
        summary?: string;
        license?: import("@scalar/openapi-types").OpenAPIV3_1.LicenseObject;
    };
    getExternalDocs: () => OpenAPIV3.ExternalDocumentationObject;
    getServers: () => OpenAPIV3.ServerObject[] & import("@scalar/openapi-types").OpenAPIV3_1.ServerObject[];
    getOperationServers: (operationId: string) => any[];
    getOperationsTags: () => string[];
    getPathsByTags: (tags: string | string[]) => OpenAPIV3.PathsObject<{}, {}>;
    getPathsWithoutTags: () => OpenAPIV3.PathsObject<{}, {}>;
    getTags: () => {
        name: string | null;
        description: string | null;
    }[];
    getFilteredTags: () => {
        name: string | null;
        description: string | null;
    }[];
};
