/**
 * 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 type { CreateIndexForModelRequestEmbed } from './CreateIndexForModelRequestEmbed';
import type { DeletionProtection } from './DeletionProtection';
/**
 * The desired configuration for the index and associated embedding model.
 * @export
 * @interface CreateIndexForModelRequest
 */
export interface CreateIndexForModelRequest {
    /**
     * The name of the index. Resource name must be 1-45 characters long, start and end with an alphanumeric character, and consist only of lower case alphanumeric characters or '-'.
     * @type {string}
     * @memberof CreateIndexForModelRequest
     */
    name: string;
    /**
     * The public cloud where you would like your index hosted.
     * @type {string}
     * @memberof CreateIndexForModelRequest
     */
    cloud: CreateIndexForModelRequestCloudEnum;
    /**
     * The region where you would like your index to be created.
     * @type {string}
     * @memberof CreateIndexForModelRequest
     */
    region: string;
    /**
     *
     * @type {DeletionProtection}
     * @memberof CreateIndexForModelRequest
     */
    deletionProtection?: DeletionProtection;
    /**
     * Custom user tags added to an index. Keys must be 80 characters or less. Values must be 120 characters or less. Keys must be alphanumeric, '_', or '-'.  Values must be alphanumeric, ';', '@', '_', '-', '.', '+', or ' '. To unset a key, set the value to be an empty string.
     * @type {{ [key: string]: string; }}
     * @memberof CreateIndexForModelRequest
     */
    tags?: {
        [key: string]: string;
    };
    /**
     *
     * @type {CreateIndexForModelRequestEmbed}
     * @memberof CreateIndexForModelRequest
     */
    embed: CreateIndexForModelRequestEmbed;
}
/**
 * @export
 */
export declare const CreateIndexForModelRequestCloudEnum: {
    readonly Gcp: "gcp";
    readonly Aws: "aws";
    readonly Azure: "azure";
};
export type CreateIndexForModelRequestCloudEnum = typeof CreateIndexForModelRequestCloudEnum[keyof typeof CreateIndexForModelRequestCloudEnum];
/**
 * Check if a given object implements the CreateIndexForModelRequest interface.
 */
export declare function instanceOfCreateIndexForModelRequest(value: object): boolean;
export declare function CreateIndexForModelRequestFromJSON(json: any): CreateIndexForModelRequest;
export declare function CreateIndexForModelRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): CreateIndexForModelRequest;
export declare function CreateIndexForModelRequestToJSON(value?: CreateIndexForModelRequest | null): any;
