/**
 * Pinecone Control Plane 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-01
 * 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 { CollectionList, CollectionModel, ConfigureIndexRequest, CreateCollectionRequest, CreateIndexForModelRequest, CreateIndexRequest, IndexList, IndexModel } from '../models/index';
export interface ConfigureIndexOperationRequest {
    indexName: string;
    configureIndexRequest: ConfigureIndexRequest;
}
export interface CreateCollectionOperationRequest {
    createCollectionRequest: CreateCollectionRequest;
}
export interface CreateIndexOperationRequest {
    createIndexRequest: CreateIndexRequest;
}
export interface CreateIndexForModelOperationRequest {
    createIndexForModelRequest: CreateIndexForModelRequest;
}
export interface DeleteCollectionRequest {
    collectionName: string;
}
export interface DeleteIndexRequest {
    indexName: string;
}
export interface DescribeCollectionRequest {
    collectionName: string;
}
export interface DescribeIndexRequest {
    indexName: string;
}
/**
 *
 */
export declare class ManageIndexesApi extends runtime.BaseAPI {
    /**
     * Configure an existing index.   For serverless indexes, you can configure index deletion protection, tags, and integrated inference embedding settings for the index. For pod-based indexes, you can configure the pod size, number of replicas, tags, and index deletion protection.  It is not possible to change the pod type of a pod-based index. However, you can create a collection from a pod-based index and then [create a new pod-based index with a different pod type](http://docs.pinecone.io/guides/indexes/pods/create-a-pod-based-index#create-a-pod-index-from-a-collection) from the collection. For guidance and examples, see [Configure an index](http://docs.pinecone.io/guides/indexes/pods/manage-pod-based-indexes).
     * Configure an index
     */
    configureIndexRaw(requestParameters: ConfigureIndexOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<IndexModel>>;
    /**
     * Configure an existing index.   For serverless indexes, you can configure index deletion protection, tags, and integrated inference embedding settings for the index. For pod-based indexes, you can configure the pod size, number of replicas, tags, and index deletion protection.  It is not possible to change the pod type of a pod-based index. However, you can create a collection from a pod-based index and then [create a new pod-based index with a different pod type](http://docs.pinecone.io/guides/indexes/pods/create-a-pod-based-index#create-a-pod-index-from-a-collection) from the collection. For guidance and examples, see [Configure an index](http://docs.pinecone.io/guides/indexes/pods/manage-pod-based-indexes).
     * Configure an index
     */
    configureIndex(requestParameters: ConfigureIndexOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<IndexModel>;
    /**
     * This operation creates a Pinecone collection.    Serverless indexes do not support collections.
     * Create a collection
     */
    createCollectionRaw(requestParameters: CreateCollectionOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<CollectionModel>>;
    /**
     * This operation creates a Pinecone collection.    Serverless indexes do not support collections.
     * Create a collection
     */
    createCollection(requestParameters: CreateCollectionOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<CollectionModel>;
    /**
     * Create an index for vectors created with an external embedding model.  For guidance and examples, see [Create an index](https://docs.pinecone.io/guides/indexes/create-an-index#external-embedding).
     * Create an index
     */
    createIndexRaw(requestParameters: CreateIndexOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<IndexModel>>;
    /**
     * Create an index for vectors created with an external embedding model.  For guidance and examples, see [Create an index](https://docs.pinecone.io/guides/indexes/create-an-index#external-embedding).
     * Create an index
     */
    createIndex(requestParameters: CreateIndexOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<IndexModel>;
    /**
     * Create an index with integrated embedding.  With this type of index, you provide source text, and Pinecone uses a [hosted embedding model](https://docs.pinecone.io/guides/inference/understanding-inference#embedding-models) to convert the text automatically during [upsert](https://docs.pinecone.io/reference/api/2025-01/data-plane/upsert_records) and [search](https://docs.pinecone.io/reference/api/2025-01/data-plane/search_records).  For guidance and examples, see [Create an index](https://docs.pinecone.io/guides/indexes/create-an-index#integrated-embedding).
     * Create an index with integrated embedding
     */
    createIndexForModelRaw(requestParameters: CreateIndexForModelOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<IndexModel>>;
    /**
     * Create an index with integrated embedding.  With this type of index, you provide source text, and Pinecone uses a [hosted embedding model](https://docs.pinecone.io/guides/inference/understanding-inference#embedding-models) to convert the text automatically during [upsert](https://docs.pinecone.io/reference/api/2025-01/data-plane/upsert_records) and [search](https://docs.pinecone.io/reference/api/2025-01/data-plane/search_records).  For guidance and examples, see [Create an index](https://docs.pinecone.io/guides/indexes/create-an-index#integrated-embedding).
     * Create an index with integrated embedding
     */
    createIndexForModel(requestParameters: CreateIndexForModelOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<IndexModel>;
    /**
     * This operation deletes an existing collection. Serverless indexes do not support collections.
     * Delete a collection
     */
    deleteCollectionRaw(requestParameters: DeleteCollectionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>>;
    /**
     * This operation deletes an existing collection. Serverless indexes do not support collections.
     * Delete a collection
     */
    deleteCollection(requestParameters: DeleteCollectionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
    /**
     * Delete an existing index.
     * Delete an index
     */
    deleteIndexRaw(requestParameters: DeleteIndexRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>>;
    /**
     * Delete an existing index.
     * Delete an index
     */
    deleteIndex(requestParameters: DeleteIndexRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
    /**
     * This operation gets a description of a collection. Serverless indexes do not support collections.
     * Describe a collection
     */
    describeCollectionRaw(requestParameters: DescribeCollectionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<CollectionModel>>;
    /**
     * This operation gets a description of a collection. Serverless indexes do not support collections.
     * Describe a collection
     */
    describeCollection(requestParameters: DescribeCollectionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<CollectionModel>;
    /**
     * Get a description of an index.
     * Describe an index
     */
    describeIndexRaw(requestParameters: DescribeIndexRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<IndexModel>>;
    /**
     * Get a description of an index.
     * Describe an index
     */
    describeIndex(requestParameters: DescribeIndexRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<IndexModel>;
    /**
     * This operation returns a list of all collections in a project. Serverless indexes do not support collections.
     * List collections
     */
    listCollectionsRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<CollectionList>>;
    /**
     * This operation returns a list of all collections in a project. Serverless indexes do not support collections.
     * List collections
     */
    listCollections(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<CollectionList>;
    /**
     * This operation returns a list of all indexes in a project.
     * List indexes
     */
    listIndexesRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<IndexList>>;
    /**
     * This operation returns a list of all indexes in a project.
     * List indexes
     */
    listIndexes(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<IndexList>;
}
