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 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 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 | 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: CreateMemoryStoreEmbeddingConfig;
};
/** @internal */
export declare const EmbeddingConfig$inboundSchema: z.ZodType<EmbeddingConfig, z.ZodTypeDef, unknown>;
/** @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;
export declare function embeddingConfigFromJSON(jsonString: string): SafeParseResult<EmbeddingConfig, SDKValidationError>;
/** @internal */
export declare const CreateMemoryStoreRequestBody$inboundSchema: z.ZodType<CreateMemoryStoreRequestBody, z.ZodTypeDef, unknown>;
/** @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;
export declare function createMemoryStoreRequestBodyFromJSON(jsonString: string): SafeParseResult<CreateMemoryStoreRequestBody, SDKValidationError>;
/** @internal */
export declare const CreateMemoryStoreEmbeddingConfig$inboundSchema: z.ZodType<CreateMemoryStoreEmbeddingConfig, z.ZodTypeDef, unknown>;
/** @internal */
export type CreateMemoryStoreEmbeddingConfig$Outbound = {
    model: string;
};
/** @internal */
export declare const CreateMemoryStoreEmbeddingConfig$outboundSchema: z.ZodType<CreateMemoryStoreEmbeddingConfig$Outbound, z.ZodTypeDef, CreateMemoryStoreEmbeddingConfig>;
export declare function createMemoryStoreEmbeddingConfigToJSON(createMemoryStoreEmbeddingConfig: CreateMemoryStoreEmbeddingConfig): string;
export declare function createMemoryStoreEmbeddingConfigFromJSON(jsonString: string): SafeParseResult<CreateMemoryStoreEmbeddingConfig, SDKValidationError>;
/** @internal */
export declare const CreateMemoryStoreResponseBody$inboundSchema: z.ZodType<CreateMemoryStoreResponseBody, z.ZodTypeDef, unknown>;
/** @internal */
export type CreateMemoryStoreResponseBody$Outbound = {
    _id: string;
    key: string;
    description: string;
    created_by_id?: string | undefined;
    updated_by_id?: string | undefined;
    created: string;
    updated: string;
    ttl?: number | undefined;
    embedding_config: CreateMemoryStoreEmbeddingConfig$Outbound;
};
/** @internal */
export declare const CreateMemoryStoreResponseBody$outboundSchema: z.ZodType<CreateMemoryStoreResponseBody$Outbound, z.ZodTypeDef, CreateMemoryStoreResponseBody>;
export declare function createMemoryStoreResponseBodyToJSON(createMemoryStoreResponseBody: CreateMemoryStoreResponseBody): string;
export declare function createMemoryStoreResponseBodyFromJSON(jsonString: string): SafeParseResult<CreateMemoryStoreResponseBody, SDKValidationError>;
//# sourceMappingURL=creatememorystore.d.ts.map