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;
    /**
     * The threshold value used to filter the rerank results, only documents with a relevance score greater than the threshold will be returned
     */
    rerankThreshold: number;
    /**
     * 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;
    /**
     * The threshold value used to filter the search results, only documents with a relevance score greater than the threshold will be returned
     */
    threshold: number;
    /**
     * 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 | null | undefined;
    /**
     * The unique key of the knowledge base.
     */
    key: string;
    /**
     * The project/domain ID of the knowledge base.
     */
    domainId: string;
    /**
     * 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 | undefined;
    createdById?: string | null | undefined;
    updatedById?: string | null | undefined;
    /**
     * The last update date of the knowledge base.
     */
    updated: string;
    type: GetOneKnowledgeResponseBodyKnowledgeType;
    /**
     * 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;
    /**
     * The threshold value used to filter the rerank results, only documents with a relevance score greater than the threshold will be returned
     */
    rerankThreshold: number;
    /**
     * 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;
    /**
     * The number of results to return from the search.
     */
    topK: number;
    /**
     * The threshold value used to filter the search results, only documents with a relevance score greater than the threshold will be returned
     */
    threshold: number;
    /**
     * 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 | null | undefined;
    /**
     * The unique key of the knowledge base.
     */
    key: string;
    /**
     * The project/domain ID of the knowledge base.
     */
    domainId: string;
    /**
     * 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 | undefined;
    createdById?: string | null | undefined;
    updatedById?: string | null | undefined;
    /**
     * The last update date of the knowledge base.
     */
    updated: string;
    type: GetOneKnowledgeResponseBodyType;
    /**
     * 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 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;
/** @internal */
export declare const GetOneKnowledgeResponseBodyKnowledgeType$inboundSchema: z.ZodNativeEnum<typeof GetOneKnowledgeResponseBodyKnowledgeType>;
/** @internal */
export declare const GetOneKnowledgeResponseBodyKnowledgeRerankConfig$inboundSchema: z.ZodType<GetOneKnowledgeResponseBodyKnowledgeRerankConfig, z.ZodTypeDef, unknown>;
export declare function getOneKnowledgeResponseBodyKnowledgeRerankConfigFromJSON(jsonString: string): SafeParseResult<GetOneKnowledgeResponseBodyKnowledgeRerankConfig, SDKValidationError>;
/** @internal */
export declare const GetOneKnowledgeResponseBodyKnowledgeAgenticRagConfig$inboundSchema: z.ZodType<GetOneKnowledgeResponseBodyKnowledgeAgenticRagConfig, z.ZodTypeDef, unknown>;
export declare function getOneKnowledgeResponseBodyKnowledgeAgenticRagConfigFromJSON(jsonString: string): SafeParseResult<GetOneKnowledgeResponseBodyKnowledgeAgenticRagConfig, SDKValidationError>;
/** @internal */
export declare const GetOneKnowledgeResponseBodyKnowledgeRetrievalSettings$inboundSchema: z.ZodType<GetOneKnowledgeResponseBodyKnowledgeRetrievalSettings, z.ZodTypeDef, unknown>;
export declare function getOneKnowledgeResponseBodyKnowledgeRetrievalSettingsFromJSON(jsonString: string): SafeParseResult<GetOneKnowledgeResponseBodyKnowledgeRetrievalSettings, SDKValidationError>;
/** @internal */
export declare const GetOneKnowledgeResponseBodyExternalConfig$inboundSchema: z.ZodType<GetOneKnowledgeResponseBodyExternalConfig, z.ZodTypeDef, unknown>;
export declare function getOneKnowledgeResponseBodyExternalConfigFromJSON(jsonString: string): SafeParseResult<GetOneKnowledgeResponseBodyExternalConfig, SDKValidationError>;
/** @internal */
export declare const GetOneKnowledgeResponseBody2$inboundSchema: z.ZodType<GetOneKnowledgeResponseBody2, z.ZodTypeDef, unknown>;
export declare function getOneKnowledgeResponseBody2FromJSON(jsonString: string): SafeParseResult<GetOneKnowledgeResponseBody2, SDKValidationError>;
/** @internal */
export declare const GetOneKnowledgeResponseBodyType$inboundSchema: z.ZodNativeEnum<typeof GetOneKnowledgeResponseBodyType>;
/** @internal */
export declare const GetOneKnowledgeResponseBodyRetrievalType$inboundSchema: z.ZodNativeEnum<typeof GetOneKnowledgeResponseBodyRetrievalType>;
/** @internal */
export declare const GetOneKnowledgeResponseBodyRerankConfig$inboundSchema: z.ZodType<GetOneKnowledgeResponseBodyRerankConfig, z.ZodTypeDef, unknown>;
export declare function getOneKnowledgeResponseBodyRerankConfigFromJSON(jsonString: string): SafeParseResult<GetOneKnowledgeResponseBodyRerankConfig, SDKValidationError>;
/** @internal */
export declare const GetOneKnowledgeResponseBodyAgenticRagConfig$inboundSchema: z.ZodType<GetOneKnowledgeResponseBodyAgenticRagConfig, z.ZodTypeDef, unknown>;
export declare function getOneKnowledgeResponseBodyAgenticRagConfigFromJSON(jsonString: string): SafeParseResult<GetOneKnowledgeResponseBodyAgenticRagConfig, SDKValidationError>;
/** @internal */
export declare const GetOneKnowledgeResponseBodyRetrievalSettings$inboundSchema: z.ZodType<GetOneKnowledgeResponseBodyRetrievalSettings, z.ZodTypeDef, unknown>;
export declare function getOneKnowledgeResponseBodyRetrievalSettingsFromJSON(jsonString: string): SafeParseResult<GetOneKnowledgeResponseBodyRetrievalSettings, SDKValidationError>;
/** @internal */
export declare const GetOneKnowledgeResponseBody1$inboundSchema: z.ZodType<GetOneKnowledgeResponseBody1, z.ZodTypeDef, unknown>;
export declare function getOneKnowledgeResponseBody1FromJSON(jsonString: string): SafeParseResult<GetOneKnowledgeResponseBody1, SDKValidationError>;
/** @internal */
export declare const GetOneKnowledgeResponseBody$inboundSchema: z.ZodType<GetOneKnowledgeResponseBody, z.ZodTypeDef, unknown>;
export declare function getOneKnowledgeResponseBodyFromJSON(jsonString: string): SafeParseResult<GetOneKnowledgeResponseBody, SDKValidationError>;
//# sourceMappingURL=getoneknowledge.d.ts.map