/**
 * 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-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.
 */
/**
 * The BackupModel describes the configuration and status of a Pinecone backup.
 * @export
 * @interface BackupModel
 */
export interface BackupModel {
    /**
     * Unique identifier for the backup.
     * @type {string}
     * @memberof BackupModel
     */
    backupId: string;
    /**
     * Name of the index from which the backup was taken.
     * @type {string}
     * @memberof BackupModel
     */
    sourceIndexName: string;
    /**
     * ID of the index.
     * @type {string}
     * @memberof BackupModel
     */
    sourceIndexId: string;
    /**
     * Optional user-defined name for the backup.
     * @type {string}
     * @memberof BackupModel
     */
    name?: string;
    /**
     * Optional description providing context for the backup.
     * @type {string}
     * @memberof BackupModel
     */
    description?: string;
    /**
     * Current status of the backup (e.g., Initializing, Ready, Failed).
     * @type {string}
     * @memberof BackupModel
     */
    status: string;
    /**
     * Cloud provider where the backup is stored.
     * @type {string}
     * @memberof BackupModel
     */
    cloud: string;
    /**
     * Cloud region where the backup is stored.
     * @type {string}
     * @memberof BackupModel
     */
    region: string;
    /**
     * The dimensions of the vectors to be inserted in the index.
     * @type {number}
     * @memberof BackupModel
     */
    dimension?: number;
    /**
     * The distance metric to be used for similarity search. You can use 'euclidean', 'cosine', or 'dotproduct'. If the 'vector_type' is 'sparse', the metric must be 'dotproduct'. If the `vector_type` is `dense`, the metric defaults to 'cosine'.
     * @type {string}
     * @memberof BackupModel
     */
    metric?: BackupModelMetricEnum;
    /**
     * Total number of records in the backup.
     * @type {number}
     * @memberof BackupModel
     */
    recordCount?: number;
    /**
     * Number of namespaces in the backup.
     * @type {number}
     * @memberof BackupModel
     */
    namespaceCount?: number;
    /**
     * Size of the backup in bytes.
     * @type {number}
     * @memberof BackupModel
     */
    sizeBytes?: number;
    /**
     * 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 BackupModel
     */
    tags?: {
        [key: string]: string;
    };
    /**
     * Timestamp when the backup was created.
     * @type {string}
     * @memberof BackupModel
     */
    createdAt?: string;
}
/**
 * @export
 */
export declare const BackupModelMetricEnum: {
    readonly Cosine: "cosine";
    readonly Euclidean: "euclidean";
    readonly Dotproduct: "dotproduct";
};
export type BackupModelMetricEnum = typeof BackupModelMetricEnum[keyof typeof BackupModelMetricEnum];
/**
 * Check if a given object implements the BackupModel interface.
 */
export declare function instanceOfBackupModel(value: object): boolean;
export declare function BackupModelFromJSON(json: any): BackupModel;
export declare function BackupModelFromJSONTyped(json: any, ignoreDiscriminator: boolean): BackupModel;
export declare function BackupModelToJSON(value?: BackupModel | null): any;
