import * as z from "zod/v3";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
export type EmbeddingConfig = {
    /**
     * 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 CreateMemoryStoreRequestBody = {
    /**
     * The unique key of the memory store. The key is unique and inmmutable and cannot be repeated within the same workspace.
     */
    key: string;
    embeddingConfig: EmbeddingConfig;
    /**
     * 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.
     *
     * @remarks
     *
     * With workspace-level API keys, use the format `project/folder/subfolder/...`. The first element identifies the project, followed by nested folders (auto-created as needed). Example: `Default/agents`.
     *
     * With project-level API keys, the project is predetermined by the API key, so the path is relative to that project. Example: `agents`. For backward compatibility, a leading project name is ignored when it matches the scoped project.
     */
    path: string;
};
export type CreateMemoryStoreEmbeddingConfig = {
    /**
     * 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;
};
/**
 * Memory store successfully created with the specified configuration.
 */
export type CreateMemoryStoreResponseBody = {
    /**
     * 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 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 | null | undefined;
    /**
     * The user ID of the last updater
     */
    updatedById?: string | null | 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: CreateMemoryStoreEmbeddingConfig;
};
/** @internal */
export type EmbeddingConfig$Outbound = {
    model: string;
};
/** @internal */
export declare const EmbeddingConfig$outboundSchema: z.ZodType<EmbeddingConfig$Outbound, z.ZodTypeDef, EmbeddingConfig>;
export declare function embeddingConfigToJSON(embeddingConfig: EmbeddingConfig): string;
/** @internal */
export type CreateMemoryStoreRequestBody$Outbound = {
    key: string;
    embedding_config: EmbeddingConfig$Outbound;
    description: string;
    ttl?: number | undefined;
    path: string;
};
/** @internal */
export declare const CreateMemoryStoreRequestBody$outboundSchema: z.ZodType<CreateMemoryStoreRequestBody$Outbound, z.ZodTypeDef, CreateMemoryStoreRequestBody>;
export declare function createMemoryStoreRequestBodyToJSON(createMemoryStoreRequestBody: CreateMemoryStoreRequestBody): string;
/** @internal */
export declare const CreateMemoryStoreEmbeddingConfig$inboundSchema: z.ZodType<CreateMemoryStoreEmbeddingConfig, z.ZodTypeDef, unknown>;
export declare function createMemoryStoreEmbeddingConfigFromJSON(jsonString: string): SafeParseResult<CreateMemoryStoreEmbeddingConfig, SDKValidationError>;
/** @internal */
export declare const CreateMemoryStoreResponseBody$inboundSchema: z.ZodType<CreateMemoryStoreResponseBody, z.ZodTypeDef, unknown>;
export declare function createMemoryStoreResponseBodyFromJSON(jsonString: string): SafeParseResult<CreateMemoryStoreResponseBody, SDKValidationError>;
//# sourceMappingURL=creatememorystore.d.ts.map