import * as z from "zod/v3";
import { ClosedEnum } from "../../types/enums.js";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
export type UpdateMemoryStoreEmbeddingConfig = {
    /**
     * The embeddings model to use for the knowledge base in the format "provider/model" for public models or "workspaceKey@provider/model" for private workspace models. This model will be used to embed the chunks when they are added to the knowledge base. Refer to the (Supported models)[/docs/proxy/supported-models] to browse available models.
     */
    model: string;
};
export type UpdateMemoryStoreRequestBody = {
    embeddingConfig: UpdateMemoryStoreEmbeddingConfig;
    /**
     * The description of the memory store. Be as precise as possible to help the AI to understand the purpose of the memory store.
     */
    description: string;
    /**
     * The default time to live of every memory document created within the memory store. Useful to control if the documents in the memory should be store for short or long term.
     */
    ttl?: number | undefined;
    /**
     * Entity storage path in the format: `project/folder/subfolder/...`
     *
     * @remarks
     *
     * The first element identifies the project, followed by nested folders (auto-created as needed).
     *
     * With project-based API keys, the first element is treated as a folder name, as the project is predetermined by the API key.
     */
    path: string;
};
export type UpdateMemoryStoreRequest = {
    /**
     * The unique key identifier of the memory store
     */
    memoryStoreKey: string;
    requestBody?: UpdateMemoryStoreRequestBody | undefined;
};
/**
 * The provider of the AI service
 */
export declare const UpdateMemoryStoreProvider: {
    readonly Cohere: "cohere";
    readonly Openai: "openai";
    readonly Anthropic: "anthropic";
    readonly Huggingface: "huggingface";
    readonly Replicate: "replicate";
    readonly Google: "google";
    readonly GoogleAi: "google-ai";
    readonly Azure: "azure";
    readonly Aws: "aws";
    readonly Anyscale: "anyscale";
    readonly Perplexity: "perplexity";
    readonly Groq: "groq";
    readonly Fal: "fal";
    readonly Leonardoai: "leonardoai";
    readonly Nvidia: "nvidia";
    readonly Jina: "jina";
    readonly Togetherai: "togetherai";
    readonly Elevenlabs: "elevenlabs";
    readonly Litellm: "litellm";
    readonly Openailike: "openailike";
    readonly Cerebras: "cerebras";
    readonly Bytedance: "bytedance";
    readonly Mistral: "mistral";
};
/**
 * The provider of the AI service
 */
export type UpdateMemoryStoreProvider = ClosedEnum<typeof UpdateMemoryStoreProvider>;
export type UpdateMemoryStoreMemoryStoresEmbeddingConfig = {
    modelId: string;
    integrationId?: string | undefined;
    /**
     * Number of results to return
     */
    topK?: number | undefined;
    /**
     * The provider of the AI service
     */
    provider: UpdateMemoryStoreProvider;
};
/**
 * Memory store successfully updated.
 */
export type UpdateMemoryStoreResponseBody = {
    /**
     * The unique identifier of the memory store
     */
    id: string;
    /**
     * The unique key of the memory store. The key is unique and inmmutable and cannot be repeated within the same workspace.
     */
    key: string;
    /**
     * The project unique identifier. This entity is assigned based on the provided `path` property
     */
    projectId: string;
    /**
     * The description of the memory store. Be as precise as possible to help the AI to understand the purpose of the memory store.
     */
    description: string;
    /**
     * The user ID of the creator
     */
    createdById?: string | undefined;
    /**
     * The user ID of the last updater
     */
    updatedById?: string | undefined;
    /**
     * The creation date of the memory store
     */
    created: string;
    /**
     * The last update date of the memory store
     */
    updated: string;
    /**
     * The default time to live of every memory document created within the memory store. Useful to control if the documents in the memory should be store for short or long term.
     */
    ttl?: number | undefined;
    embeddingConfig: UpdateMemoryStoreMemoryStoresEmbeddingConfig;
};
/** @internal */
export declare const UpdateMemoryStoreEmbeddingConfig$inboundSchema: z.ZodType<UpdateMemoryStoreEmbeddingConfig, z.ZodTypeDef, unknown>;
/** @internal */
export type UpdateMemoryStoreEmbeddingConfig$Outbound = {
    model: string;
};
/** @internal */
export declare const UpdateMemoryStoreEmbeddingConfig$outboundSchema: z.ZodType<UpdateMemoryStoreEmbeddingConfig$Outbound, z.ZodTypeDef, UpdateMemoryStoreEmbeddingConfig>;
export declare function updateMemoryStoreEmbeddingConfigToJSON(updateMemoryStoreEmbeddingConfig: UpdateMemoryStoreEmbeddingConfig): string;
export declare function updateMemoryStoreEmbeddingConfigFromJSON(jsonString: string): SafeParseResult<UpdateMemoryStoreEmbeddingConfig, SDKValidationError>;
/** @internal */
export declare const UpdateMemoryStoreRequestBody$inboundSchema: z.ZodType<UpdateMemoryStoreRequestBody, z.ZodTypeDef, unknown>;
/** @internal */
export type UpdateMemoryStoreRequestBody$Outbound = {
    embedding_config: UpdateMemoryStoreEmbeddingConfig$Outbound;
    description: string;
    ttl?: number | undefined;
    path: string;
};
/** @internal */
export declare const UpdateMemoryStoreRequestBody$outboundSchema: z.ZodType<UpdateMemoryStoreRequestBody$Outbound, z.ZodTypeDef, UpdateMemoryStoreRequestBody>;
export declare function updateMemoryStoreRequestBodyToJSON(updateMemoryStoreRequestBody: UpdateMemoryStoreRequestBody): string;
export declare function updateMemoryStoreRequestBodyFromJSON(jsonString: string): SafeParseResult<UpdateMemoryStoreRequestBody, SDKValidationError>;
/** @internal */
export declare const UpdateMemoryStoreRequest$inboundSchema: z.ZodType<UpdateMemoryStoreRequest, z.ZodTypeDef, unknown>;
/** @internal */
export type UpdateMemoryStoreRequest$Outbound = {
    memory_store_key: string;
    RequestBody?: UpdateMemoryStoreRequestBody$Outbound | undefined;
};
/** @internal */
export declare const UpdateMemoryStoreRequest$outboundSchema: z.ZodType<UpdateMemoryStoreRequest$Outbound, z.ZodTypeDef, UpdateMemoryStoreRequest>;
export declare function updateMemoryStoreRequestToJSON(updateMemoryStoreRequest: UpdateMemoryStoreRequest): string;
export declare function updateMemoryStoreRequestFromJSON(jsonString: string): SafeParseResult<UpdateMemoryStoreRequest, SDKValidationError>;
/** @internal */
export declare const UpdateMemoryStoreProvider$inboundSchema: z.ZodNativeEnum<typeof UpdateMemoryStoreProvider>;
/** @internal */
export declare const UpdateMemoryStoreProvider$outboundSchema: z.ZodNativeEnum<typeof UpdateMemoryStoreProvider>;
/** @internal */
export declare const UpdateMemoryStoreMemoryStoresEmbeddingConfig$inboundSchema: z.ZodType<UpdateMemoryStoreMemoryStoresEmbeddingConfig, z.ZodTypeDef, unknown>;
/** @internal */
export type UpdateMemoryStoreMemoryStoresEmbeddingConfig$Outbound = {
    model_id: string;
    integration_id?: string | undefined;
    top_k?: number | undefined;
    provider: string;
};
/** @internal */
export declare const UpdateMemoryStoreMemoryStoresEmbeddingConfig$outboundSchema: z.ZodType<UpdateMemoryStoreMemoryStoresEmbeddingConfig$Outbound, z.ZodTypeDef, UpdateMemoryStoreMemoryStoresEmbeddingConfig>;
export declare function updateMemoryStoreMemoryStoresEmbeddingConfigToJSON(updateMemoryStoreMemoryStoresEmbeddingConfig: UpdateMemoryStoreMemoryStoresEmbeddingConfig): string;
export declare function updateMemoryStoreMemoryStoresEmbeddingConfigFromJSON(jsonString: string): SafeParseResult<UpdateMemoryStoreMemoryStoresEmbeddingConfig, SDKValidationError>;
/** @internal */
export declare const UpdateMemoryStoreResponseBody$inboundSchema: z.ZodType<UpdateMemoryStoreResponseBody, z.ZodTypeDef, unknown>;
/** @internal */
export type UpdateMemoryStoreResponseBody$Outbound = {
    _id: string;
    key: string;
    project_id: string;
    description: string;
    created_by_id?: string | undefined;
    updated_by_id?: string | undefined;
    created: string;
    updated: string;
    ttl?: number | undefined;
    embedding_config: UpdateMemoryStoreMemoryStoresEmbeddingConfig$Outbound;
};
/** @internal */
export declare const UpdateMemoryStoreResponseBody$outboundSchema: z.ZodType<UpdateMemoryStoreResponseBody$Outbound, z.ZodTypeDef, UpdateMemoryStoreResponseBody>;
export declare function updateMemoryStoreResponseBodyToJSON(updateMemoryStoreResponseBody: UpdateMemoryStoreResponseBody): string;
export declare function updateMemoryStoreResponseBodyFromJSON(jsonString: string): SafeParseResult<UpdateMemoryStoreResponseBody, SDKValidationError>;
//# sourceMappingURL=updatememorystore.d.ts.map