import { APIResource } from "../../../../core/resource.js";
import * as KnowledgeBasesAPI from "./knowledge-bases.js";
import { AgentDocumentsCursor } from "./knowledge-bases.js";
import { APIPromise } from "../../../../core/api-promise.js";
import { type CursorParams, PagePromise } from "../../../../core/pagination.js";
import { RequestOptions } from "../../../../internal/request-options.js";
export declare class Documents extends APIResource {
    /**
     * Add a document to a knowledge base. The document will be automatically processed
     * for RAG.
     *
     * @example
     * ```ts
     * const document =
     *   await client.senders.agent.knowledgeBases.documents.create(
     *     'kbId',
     *     {
     *       senderId: 'senderId',
     *       content:
     *         'Our return policy allows returns within 30 days of purchase...',
     *       title: 'Return Policy',
     *     },
     *   );
     * ```
     */
    create(kbID: string, params: DocumentCreateParams, options?: RequestOptions): APIPromise<DocumentCreateResponse>;
    /**
     * List documents in a knowledge base.
     *
     * @example
     * ```ts
     * // Automatically fetches more pages as needed.
     * for await (const agentDocument of client.senders.agent.knowledgeBases.documents.list(
     *   'kbId',
     *   { senderId: 'senderId' },
     * )) {
     *   // ...
     * }
     * ```
     */
    list(kbID: string, params: DocumentListParams, options?: RequestOptions): PagePromise<AgentDocumentsCursor, KnowledgeBasesAPI.AgentDocument>;
    /**
     * Delete a document from a knowledge base.
     *
     * @example
     * ```ts
     * await client.senders.agent.knowledgeBases.documents.delete(
     *   'docId',
     *   { senderId: 'senderId', kbId: 'kbId' },
     * );
     * ```
     */
    delete(docID: string, params: DocumentDeleteParams, options?: RequestOptions): APIPromise<void>;
}
export interface DocumentCreateResponse {
    document: KnowledgeBasesAPI.AgentDocument;
}
export interface DocumentCreateParams {
    /**
     * Path param
     */
    senderId: string;
    /**
     * Body param
     */
    content: string;
    /**
     * Body param
     */
    title: string;
}
export interface DocumentListParams extends CursorParams {
    /**
     * Path param
     */
    senderId: string;
}
export interface DocumentDeleteParams {
    senderId: string;
    kbId: string;
}
export declare namespace Documents {
    export { type DocumentCreateResponse as DocumentCreateResponse, type DocumentCreateParams as DocumentCreateParams, type DocumentListParams as DocumentListParams, type DocumentDeleteParams as DocumentDeleteParams, };
}
export { type AgentDocumentsCursor };
//# sourceMappingURL=documents.d.ts.map