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 GetOneKnowledgeRequest = {
    /**
     * Unique identifier of the knowledge base
     */
    knowledgeId: string;
};
export declare const GetOneKnowledgeResponseBodyKnowledgeType: {
    readonly External: "external";
};
export type GetOneKnowledgeResponseBodyKnowledgeType = ClosedEnum<typeof GetOneKnowledgeResponseBodyKnowledgeType>;
/**
 * The rerank configuration for the knowledge base. In case the model is provided it will be used to enhance the search precision.
 */
export type GetOneKnowledgeResponseBodyKnowledgeRerankConfig = {
    /**
     * The number of results to return by the reranking model
     */
    topK?: number | undefined;
    /**
     * The threshold value used to filter the rerank results, only documents with a relevance score greater than the threshold will be returned
     */
    rerankThreshold?: number | undefined;
    /**
     * The rerank model to use for the knowledge base.
     */
    rerankModel: string;
};
/**
 * The Agentic RAG configuration for the knowledge base. If `null` is provided, Agentic RAG will be disabled.
 */
export type GetOneKnowledgeResponseBodyKnowledgeAgenticRagConfig = {
    /**
     * The model to use for the Agentic RAG
     */
    model: string;
};
/**
 * The retrieval settings for the knowledge base.
 */
export type GetOneKnowledgeResponseBodyKnowledgeRetrievalSettings = {
    /**
     * The number of results to return from the search.
     */
    topK?: number | undefined;
    /**
     * The threshold value used to filter the search results, only documents with a relevance score greater than the threshold will be returned
     */
    threshold?: number | undefined;
    /**
     * The rerank configuration for the knowledge base. In case the model is provided it will be used to enhance the search precision.
     */
    rerankConfig?: GetOneKnowledgeResponseBodyKnowledgeRerankConfig | null | undefined;
    /**
     * The Agentic RAG configuration for the knowledge base. If `null` is provided, Agentic RAG will be disabled.
     */
    agenticRagConfig?: GetOneKnowledgeResponseBodyKnowledgeAgenticRagConfig | null | undefined;
};
export type GetOneKnowledgeResponseBodyExternalConfig = {
    /**
     * The name of the external knowledge base.
     */
    name: string;
    /**
     * The API URL of the external knowledge base.
     */
    apiUrl: string;
};
export type GetOneKnowledgeResponseBody2 = {
    /**
     * The unique identifier of the knowledge base.
     */
    id: string;
    /**
     * The creation date of the knowledge base.
     */
    created: string;
    /**
     * The description of the knowledge base.
     */
    description?: string | undefined;
    /**
     * The unique key of the knowledge base.
     */
    key: string;
    /**
     * The project/domain ID of the knowledge base.
     */
    domainId: string;
    /**
     * 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 | undefined;
    createdById?: string | null | undefined;
    updatedById?: string | null | undefined;
    /**
     * The last update date of the knowledge base.
     */
    updated: string;
    type?: GetOneKnowledgeResponseBodyKnowledgeType | undefined;
    /**
     * The retrieval settings for the knowledge base.
     */
    retrievalSettings?: GetOneKnowledgeResponseBodyKnowledgeRetrievalSettings | undefined;
    externalConfig: GetOneKnowledgeResponseBodyExternalConfig;
};
export declare const GetOneKnowledgeResponseBodyType: {
    readonly Internal: "internal";
};
export type GetOneKnowledgeResponseBodyType = ClosedEnum<typeof GetOneKnowledgeResponseBodyType>;
/**
 * The retrieval type to use for the knowledge base. If not provided, Hybrid Search will be used as a default query strategy.
 */
export declare const GetOneKnowledgeResponseBodyRetrievalType: {
    readonly VectorSearch: "vector_search";
    readonly KeywordSearch: "keyword_search";
    readonly HybridSearch: "hybrid_search";
};
/**
 * The retrieval type to use for the knowledge base. If not provided, Hybrid Search will be used as a default query strategy.
 */
export type GetOneKnowledgeResponseBodyRetrievalType = ClosedEnum<typeof GetOneKnowledgeResponseBodyRetrievalType>;
/**
 * The rerank configuration for the knowledge base. In case the model is provided it will be used to enhance the search precision.
 */
export type GetOneKnowledgeResponseBodyRerankConfig = {
    /**
     * The number of results to return by the reranking model
     */
    topK?: number | undefined;
    /**
     * The threshold value used to filter the rerank results, only documents with a relevance score greater than the threshold will be returned
     */
    rerankThreshold?: number | undefined;
    /**
     * The rerank model to use for the knowledge base.
     */
    rerankModel: string;
};
/**
 * The Agentic RAG configuration for the knowledge base. If `null` is provided, Agentic RAG will be disabled.
 */
export type GetOneKnowledgeResponseBodyAgenticRagConfig = {
    /**
     * The model to use for the Agentic RAG
     */
    model: string;
};
/**
 * The retrieval settings for the knowledge base. If not provider, Hybrid Search will be used as a default query strategy.
 */
export type GetOneKnowledgeResponseBodyRetrievalSettings = {
    /**
     * The retrieval type to use for the knowledge base. If not provided, Hybrid Search will be used as a default query strategy.
     */
    retrievalType?: GetOneKnowledgeResponseBodyRetrievalType | undefined;
    /**
     * The number of results to return from the search.
     */
    topK?: number | undefined;
    /**
     * The threshold value used to filter the search results, only documents with a relevance score greater than the threshold will be returned
     */
    threshold?: number | undefined;
    /**
     * The rerank configuration for the knowledge base. In case the model is provided it will be used to enhance the search precision.
     */
    rerankConfig?: GetOneKnowledgeResponseBodyRerankConfig | null | undefined;
    /**
     * The Agentic RAG configuration for the knowledge base. If `null` is provided, Agentic RAG will be disabled.
     */
    agenticRagConfig?: GetOneKnowledgeResponseBodyAgenticRagConfig | null | undefined;
};
export type GetOneKnowledgeResponseBody1 = {
    /**
     * The unique identifier of the knowledge base.
     */
    id: string;
    /**
     * The creation date of the knowledge base.
     */
    created: string;
    /**
     * The description of the knowledge base.
     */
    description?: string | undefined;
    /**
     * The unique key of the knowledge base.
     */
    key: string;
    /**
     * The project/domain ID of the knowledge base.
     */
    domainId: string;
    /**
     * 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 | undefined;
    createdById?: string | null | undefined;
    updatedById?: string | null | undefined;
    /**
     * The last update date of the knowledge base.
     */
    updated: string;
    type?: GetOneKnowledgeResponseBodyType | undefined;
    /**
     * The retrieval settings for the knowledge base. If not provider, Hybrid Search will be used as a default query strategy.
     */
    retrievalSettings?: GetOneKnowledgeResponseBodyRetrievalSettings | undefined;
    /**
     * The embeddings model used for the knowledge base.
     */
    model: string;
};
/**
 * Knowledge base retrieved
 */
export type GetOneKnowledgeResponseBody = GetOneKnowledgeResponseBody1 | GetOneKnowledgeResponseBody2;
/** @internal */
export declare const GetOneKnowledgeRequest$inboundSchema: z.ZodType<GetOneKnowledgeRequest, z.ZodTypeDef, unknown>;
/** @internal */
export type GetOneKnowledgeRequest$Outbound = {
    knowledge_id: string;
};
/** @internal */
export declare const GetOneKnowledgeRequest$outboundSchema: z.ZodType<GetOneKnowledgeRequest$Outbound, z.ZodTypeDef, GetOneKnowledgeRequest>;
export declare function getOneKnowledgeRequestToJSON(getOneKnowledgeRequest: GetOneKnowledgeRequest): string;
export declare function getOneKnowledgeRequestFromJSON(jsonString: string): SafeParseResult<GetOneKnowledgeRequest, SDKValidationError>;
/** @internal */
export declare const GetOneKnowledgeResponseBodyKnowledgeType$inboundSchema: z.ZodNativeEnum<typeof GetOneKnowledgeResponseBodyKnowledgeType>;
/** @internal */
export declare const GetOneKnowledgeResponseBodyKnowledgeType$outboundSchema: z.ZodNativeEnum<typeof GetOneKnowledgeResponseBodyKnowledgeType>;
/** @internal */
export declare const GetOneKnowledgeResponseBodyKnowledgeRerankConfig$inboundSchema: z.ZodType<GetOneKnowledgeResponseBodyKnowledgeRerankConfig, z.ZodTypeDef, unknown>;
/** @internal */
export type GetOneKnowledgeResponseBodyKnowledgeRerankConfig$Outbound = {
    top_k: number;
    rerank_threshold: number;
    rerank_model: string;
};
/** @internal */
export declare const GetOneKnowledgeResponseBodyKnowledgeRerankConfig$outboundSchema: z.ZodType<GetOneKnowledgeResponseBodyKnowledgeRerankConfig$Outbound, z.ZodTypeDef, GetOneKnowledgeResponseBodyKnowledgeRerankConfig>;
export declare function getOneKnowledgeResponseBodyKnowledgeRerankConfigToJSON(getOneKnowledgeResponseBodyKnowledgeRerankConfig: GetOneKnowledgeResponseBodyKnowledgeRerankConfig): string;
export declare function getOneKnowledgeResponseBodyKnowledgeRerankConfigFromJSON(jsonString: string): SafeParseResult<GetOneKnowledgeResponseBodyKnowledgeRerankConfig, SDKValidationError>;
/** @internal */
export declare const GetOneKnowledgeResponseBodyKnowledgeAgenticRagConfig$inboundSchema: z.ZodType<GetOneKnowledgeResponseBodyKnowledgeAgenticRagConfig, z.ZodTypeDef, unknown>;
/** @internal */
export type GetOneKnowledgeResponseBodyKnowledgeAgenticRagConfig$Outbound = {
    model: string;
};
/** @internal */
export declare const GetOneKnowledgeResponseBodyKnowledgeAgenticRagConfig$outboundSchema: z.ZodType<GetOneKnowledgeResponseBodyKnowledgeAgenticRagConfig$Outbound, z.ZodTypeDef, GetOneKnowledgeResponseBodyKnowledgeAgenticRagConfig>;
export declare function getOneKnowledgeResponseBodyKnowledgeAgenticRagConfigToJSON(getOneKnowledgeResponseBodyKnowledgeAgenticRagConfig: GetOneKnowledgeResponseBodyKnowledgeAgenticRagConfig): string;
export declare function getOneKnowledgeResponseBodyKnowledgeAgenticRagConfigFromJSON(jsonString: string): SafeParseResult<GetOneKnowledgeResponseBodyKnowledgeAgenticRagConfig, SDKValidationError>;
/** @internal */
export declare const GetOneKnowledgeResponseBodyKnowledgeRetrievalSettings$inboundSchema: z.ZodType<GetOneKnowledgeResponseBodyKnowledgeRetrievalSettings, z.ZodTypeDef, unknown>;
/** @internal */
export type GetOneKnowledgeResponseBodyKnowledgeRetrievalSettings$Outbound = {
    top_k: number;
    threshold: number;
    rerank_config?: GetOneKnowledgeResponseBodyKnowledgeRerankConfig$Outbound | null | undefined;
    agentic_rag_config?: GetOneKnowledgeResponseBodyKnowledgeAgenticRagConfig$Outbound | null | undefined;
};
/** @internal */
export declare const GetOneKnowledgeResponseBodyKnowledgeRetrievalSettings$outboundSchema: z.ZodType<GetOneKnowledgeResponseBodyKnowledgeRetrievalSettings$Outbound, z.ZodTypeDef, GetOneKnowledgeResponseBodyKnowledgeRetrievalSettings>;
export declare function getOneKnowledgeResponseBodyKnowledgeRetrievalSettingsToJSON(getOneKnowledgeResponseBodyKnowledgeRetrievalSettings: GetOneKnowledgeResponseBodyKnowledgeRetrievalSettings): string;
export declare function getOneKnowledgeResponseBodyKnowledgeRetrievalSettingsFromJSON(jsonString: string): SafeParseResult<GetOneKnowledgeResponseBodyKnowledgeRetrievalSettings, SDKValidationError>;
/** @internal */
export declare const GetOneKnowledgeResponseBodyExternalConfig$inboundSchema: z.ZodType<GetOneKnowledgeResponseBodyExternalConfig, z.ZodTypeDef, unknown>;
/** @internal */
export type GetOneKnowledgeResponseBodyExternalConfig$Outbound = {
    name: string;
    api_url: string;
};
/** @internal */
export declare const GetOneKnowledgeResponseBodyExternalConfig$outboundSchema: z.ZodType<GetOneKnowledgeResponseBodyExternalConfig$Outbound, z.ZodTypeDef, GetOneKnowledgeResponseBodyExternalConfig>;
export declare function getOneKnowledgeResponseBodyExternalConfigToJSON(getOneKnowledgeResponseBodyExternalConfig: GetOneKnowledgeResponseBodyExternalConfig): string;
export declare function getOneKnowledgeResponseBodyExternalConfigFromJSON(jsonString: string): SafeParseResult<GetOneKnowledgeResponseBodyExternalConfig, SDKValidationError>;
/** @internal */
export declare const GetOneKnowledgeResponseBody2$inboundSchema: z.ZodType<GetOneKnowledgeResponseBody2, z.ZodTypeDef, unknown>;
/** @internal */
export type GetOneKnowledgeResponseBody2$Outbound = {
    _id: string;
    created: string;
    description?: string | undefined;
    key: string;
    domain_id: string;
    path?: string | undefined;
    created_by_id?: string | null | undefined;
    updated_by_id?: string | null | undefined;
    updated: string;
    type: string;
    retrieval_settings?: GetOneKnowledgeResponseBodyKnowledgeRetrievalSettings$Outbound | undefined;
    external_config: GetOneKnowledgeResponseBodyExternalConfig$Outbound;
};
/** @internal */
export declare const GetOneKnowledgeResponseBody2$outboundSchema: z.ZodType<GetOneKnowledgeResponseBody2$Outbound, z.ZodTypeDef, GetOneKnowledgeResponseBody2>;
export declare function getOneKnowledgeResponseBody2ToJSON(getOneKnowledgeResponseBody2: GetOneKnowledgeResponseBody2): string;
export declare function getOneKnowledgeResponseBody2FromJSON(jsonString: string): SafeParseResult<GetOneKnowledgeResponseBody2, SDKValidationError>;
/** @internal */
export declare const GetOneKnowledgeResponseBodyType$inboundSchema: z.ZodNativeEnum<typeof GetOneKnowledgeResponseBodyType>;
/** @internal */
export declare const GetOneKnowledgeResponseBodyType$outboundSchema: z.ZodNativeEnum<typeof GetOneKnowledgeResponseBodyType>;
/** @internal */
export declare const GetOneKnowledgeResponseBodyRetrievalType$inboundSchema: z.ZodNativeEnum<typeof GetOneKnowledgeResponseBodyRetrievalType>;
/** @internal */
export declare const GetOneKnowledgeResponseBodyRetrievalType$outboundSchema: z.ZodNativeEnum<typeof GetOneKnowledgeResponseBodyRetrievalType>;
/** @internal */
export declare const GetOneKnowledgeResponseBodyRerankConfig$inboundSchema: z.ZodType<GetOneKnowledgeResponseBodyRerankConfig, z.ZodTypeDef, unknown>;
/** @internal */
export type GetOneKnowledgeResponseBodyRerankConfig$Outbound = {
    top_k: number;
    rerank_threshold: number;
    rerank_model: string;
};
/** @internal */
export declare const GetOneKnowledgeResponseBodyRerankConfig$outboundSchema: z.ZodType<GetOneKnowledgeResponseBodyRerankConfig$Outbound, z.ZodTypeDef, GetOneKnowledgeResponseBodyRerankConfig>;
export declare function getOneKnowledgeResponseBodyRerankConfigToJSON(getOneKnowledgeResponseBodyRerankConfig: GetOneKnowledgeResponseBodyRerankConfig): string;
export declare function getOneKnowledgeResponseBodyRerankConfigFromJSON(jsonString: string): SafeParseResult<GetOneKnowledgeResponseBodyRerankConfig, SDKValidationError>;
/** @internal */
export declare const GetOneKnowledgeResponseBodyAgenticRagConfig$inboundSchema: z.ZodType<GetOneKnowledgeResponseBodyAgenticRagConfig, z.ZodTypeDef, unknown>;
/** @internal */
export type GetOneKnowledgeResponseBodyAgenticRagConfig$Outbound = {
    model: string;
};
/** @internal */
export declare const GetOneKnowledgeResponseBodyAgenticRagConfig$outboundSchema: z.ZodType<GetOneKnowledgeResponseBodyAgenticRagConfig$Outbound, z.ZodTypeDef, GetOneKnowledgeResponseBodyAgenticRagConfig>;
export declare function getOneKnowledgeResponseBodyAgenticRagConfigToJSON(getOneKnowledgeResponseBodyAgenticRagConfig: GetOneKnowledgeResponseBodyAgenticRagConfig): string;
export declare function getOneKnowledgeResponseBodyAgenticRagConfigFromJSON(jsonString: string): SafeParseResult<GetOneKnowledgeResponseBodyAgenticRagConfig, SDKValidationError>;
/** @internal */
export declare const GetOneKnowledgeResponseBodyRetrievalSettings$inboundSchema: z.ZodType<GetOneKnowledgeResponseBodyRetrievalSettings, z.ZodTypeDef, unknown>;
/** @internal */
export type GetOneKnowledgeResponseBodyRetrievalSettings$Outbound = {
    retrieval_type: string;
    top_k: number;
    threshold: number;
    rerank_config?: GetOneKnowledgeResponseBodyRerankConfig$Outbound | null | undefined;
    agentic_rag_config?: GetOneKnowledgeResponseBodyAgenticRagConfig$Outbound | null | undefined;
};
/** @internal */
export declare const GetOneKnowledgeResponseBodyRetrievalSettings$outboundSchema: z.ZodType<GetOneKnowledgeResponseBodyRetrievalSettings$Outbound, z.ZodTypeDef, GetOneKnowledgeResponseBodyRetrievalSettings>;
export declare function getOneKnowledgeResponseBodyRetrievalSettingsToJSON(getOneKnowledgeResponseBodyRetrievalSettings: GetOneKnowledgeResponseBodyRetrievalSettings): string;
export declare function getOneKnowledgeResponseBodyRetrievalSettingsFromJSON(jsonString: string): SafeParseResult<GetOneKnowledgeResponseBodyRetrievalSettings, SDKValidationError>;
/** @internal */
export declare const GetOneKnowledgeResponseBody1$inboundSchema: z.ZodType<GetOneKnowledgeResponseBody1, z.ZodTypeDef, unknown>;
/** @internal */
export type GetOneKnowledgeResponseBody1$Outbound = {
    _id: string;
    created: string;
    description?: string | undefined;
    key: string;
    domain_id: string;
    path?: string | undefined;
    created_by_id?: string | null | undefined;
    updated_by_id?: string | null | undefined;
    updated: string;
    type: string;
    retrieval_settings?: GetOneKnowledgeResponseBodyRetrievalSettings$Outbound | undefined;
    model: string;
};
/** @internal */
export declare const GetOneKnowledgeResponseBody1$outboundSchema: z.ZodType<GetOneKnowledgeResponseBody1$Outbound, z.ZodTypeDef, GetOneKnowledgeResponseBody1>;
export declare function getOneKnowledgeResponseBody1ToJSON(getOneKnowledgeResponseBody1: GetOneKnowledgeResponseBody1): string;
export declare function getOneKnowledgeResponseBody1FromJSON(jsonString: string): SafeParseResult<GetOneKnowledgeResponseBody1, SDKValidationError>;
/** @internal */
export declare const GetOneKnowledgeResponseBody$inboundSchema: z.ZodType<GetOneKnowledgeResponseBody, z.ZodTypeDef, unknown>;
/** @internal */
export type GetOneKnowledgeResponseBody$Outbound = GetOneKnowledgeResponseBody1$Outbound | GetOneKnowledgeResponseBody2$Outbound;
/** @internal */
export declare const GetOneKnowledgeResponseBody$outboundSchema: z.ZodType<GetOneKnowledgeResponseBody$Outbound, z.ZodTypeDef, GetOneKnowledgeResponseBody>;
export declare function getOneKnowledgeResponseBodyToJSON(getOneKnowledgeResponseBody: GetOneKnowledgeResponseBody): string;
export declare function getOneKnowledgeResponseBodyFromJSON(jsonString: string): SafeParseResult<GetOneKnowledgeResponseBody, SDKValidationError>;
//# sourceMappingURL=getoneknowledge.d.ts.map