/** * This file was auto-generated by Fern from our API Definition. */ import * as environments from "../../../../environments"; import * as core from "../../../../core"; import * as Vellum from "../../../index"; import * as fs from "fs"; import { Blob } from "buffer"; export declare namespace Documents { interface Options { environment?: core.Supplier; /** Specify a custom URL to connect the client to. */ baseUrl?: core.Supplier; apiKey: core.Supplier; /** Override the X-API-Version header */ apiVersion?: core.Supplier; } interface RequestOptions { /** The maximum time to wait for a response in seconds. */ timeoutInSeconds?: number; /** The number of times to retry the request. Defaults to 2. */ maxRetries?: number; /** A hook to abort the request. */ abortSignal?: AbortSignal; /** Override the X-API-Version header */ apiVersion?: Vellum.ApiVersionEnum | undefined; /** Additional headers to include in the request. */ headers?: Record; } } export declare class Documents { protected readonly _options: Documents.Options; constructor(_options: Documents.Options); /** * Used to list documents. Optionally filter on supported fields. * * @param {Vellum.DocumentsListRequest} request * @param {Documents.RequestOptions} requestOptions - Request-specific configuration. * * @example * await client.documents.list() */ list(request?: Vellum.DocumentsListRequest, requestOptions?: Documents.RequestOptions): core.HttpResponsePromise; private __list; /** * Retrieve a Document, keying off of either its Vellum-generated ID or its external ID. * * @param {string} id * @param {Documents.RequestOptions} requestOptions - Request-specific configuration. * * @example * await client.documents.retrieve("id") */ retrieve(id: string, requestOptions?: Documents.RequestOptions): core.HttpResponsePromise; private __retrieve; /** * Delete a Document, keying off of either its Vellum-generated ID or its external ID. * * @param {string} id * @param {Documents.RequestOptions} requestOptions - Request-specific configuration. * * @example * await client.documents.destroy("id") */ destroy(id: string, requestOptions?: Documents.RequestOptions): core.HttpResponsePromise; private __destroy; /** * Update a Document, keying off of either its Vellum-generated ID or its external ID. Particularly useful for updating its metadata. * * @param {string} id * @param {Vellum.PatchedDocumentUpdateRequest} request * @param {Documents.RequestOptions} requestOptions - Request-specific configuration. * * @example * await client.documents.partialUpdate("id") */ partialUpdate(id: string, request?: Vellum.PatchedDocumentUpdateRequest, requestOptions?: Documents.RequestOptions): core.HttpResponsePromise; private __partialUpdate; /** * Upload a document to be indexed and used for search. * * **Note:** Uses a base url of `https://documents.vellum.ai`. * * @param {File | fs.ReadStream | Blob | undefined} contents * @param {Vellum.UploadDocumentBodyRequest} request * @param {Documents.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Vellum.BadRequestError} * @throws {@link Vellum.NotFoundError} * @throws {@link Vellum.InternalServerError} */ upload(contents: File | fs.ReadStream | Blob | undefined, request: Vellum.UploadDocumentBodyRequest, requestOptions?: Documents.RequestOptions): core.HttpResponsePromise; private __upload; protected _getCustomAuthorizationHeaders(): Promise<{ "X-API-KEY": string; }>; }