/**
 * Pinecone Inference API
 * Pinecone is a vector database that makes it easy to search and retrieve billions of high-dimensional vectors.
 *
 * The version of the OpenAPI document: 2025-04
 * Contact: support@pinecone.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import * as runtime from '../runtime';
import type { EmbedRequest, EmbeddingsList, ModelInfo, ModelInfoList, RerankRequest, RerankResult } from '../models/index';
export interface EmbedOperationRequest {
    embedRequest?: EmbedRequest;
}
export interface GetModelRequest {
    modelName: string;
}
export interface ListModelsRequest {
    type?: ListModelsTypeEnum;
    vectorType?: ListModelsVectorTypeEnum;
}
export interface RerankOperationRequest {
    rerankRequest?: RerankRequest;
}
/**
 *
 */
export declare class InferenceApi extends runtime.BaseAPI {
    /**
     * Generate vector embeddings for input data. This endpoint uses [Pinecone Inference](https://docs.pinecone.io/guides/index-data/indexing-overview#vector-embedding).
     * Generate vectors
     */
    embedRaw(requestParameters: EmbedOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<EmbeddingsList>>;
    /**
     * Generate vector embeddings for input data. This endpoint uses [Pinecone Inference](https://docs.pinecone.io/guides/index-data/indexing-overview#vector-embedding).
     * Generate vectors
     */
    embed(requestParameters?: EmbedOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<EmbeddingsList>;
    /**
     * Get model details.
     * Get available model details.
     */
    getModelRaw(requestParameters: GetModelRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ModelInfo>>;
    /**
     * Get model details.
     * Get available model details.
     */
    getModel(requestParameters: GetModelRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ModelInfo>;
    /**
     * Get available models.
     * Get available models.
     */
    listModelsRaw(requestParameters: ListModelsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ModelInfoList>>;
    /**
     * Get available models.
     * Get available models.
     */
    listModels(requestParameters?: ListModelsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ModelInfoList>;
    /**
     * Rerank documents according to their relevance to a query.  For guidance and examples, see [Rerank results](https://docs.pinecone.io/guides/search/rerank-results).
     * Rerank documents
     */
    rerankRaw(requestParameters: RerankOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<RerankResult>>;
    /**
     * Rerank documents according to their relevance to a query.  For guidance and examples, see [Rerank results](https://docs.pinecone.io/guides/search/rerank-results).
     * Rerank documents
     */
    rerank(requestParameters?: RerankOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<RerankResult>;
}
/**
 * @export
 */
export declare const ListModelsTypeEnum: {
    readonly Embed: "embed";
    readonly Rerank: "rerank";
};
export type ListModelsTypeEnum = typeof ListModelsTypeEnum[keyof typeof ListModelsTypeEnum];
/**
 * @export
 */
export declare const ListModelsVectorTypeEnum: {
    readonly Dense: "dense";
    readonly Sparse: "sparse";
};
export type ListModelsVectorTypeEnum = typeof ListModelsVectorTypeEnum[keyof typeof ListModelsVectorTypeEnum];
