/** * This file was auto-generated by Fern from our API Definition. */ import * as environments from "../../../../environments"; import * as core from "../../../../core"; import * as Flatfile from "../../../index"; export declare namespace Records { interface Options { environment?: core.Supplier; /** Specify a custom URL to connect the client to. */ baseUrl?: core.Supplier; token?: core.Supplier; /** Override the X-Disable-Hooks header */ xDisableHooks?: "true"; fetcher?: core.FetchFunction; } 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-Disable-Hooks header */ xDisableHooks?: "true"; /** Additional headers to include in the request. */ headers?: Record; } } export declare class Records { protected readonly _options: Records.Options; constructor(_options?: Records.Options); /** * Returns records from a sheet in a workbook * * @param {Flatfile.SheetId} sheetId - ID of sheet * @param {Flatfile.GetRecordsRequest} request * @param {Records.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Flatfile.BadRequestError} * @throws {@link Flatfile.NotFoundError} * * @example * await client.records.get("us_sh_YOUR_ID") */ get(sheetId: Flatfile.SheetId, request?: Flatfile.GetRecordsRequest, requestOptions?: Records.RequestOptions): core.HttpResponsePromise; private __get; /** * Returns indices of records from a sheet in a workbook * * @param {Flatfile.SheetId} sheetId - ID of sheet * @param {Flatfile.GetRecordIndicesRequest} request * @param {Records.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Flatfile.BadRequestError} * @throws {@link Flatfile.NotFoundError} * * @example * await client.records.indices("us_sh_YOUR_ID", { * ids: "list<$commons.RecordId.Example0, $commons.RecordId.Example1>" * }) */ indices(sheetId: Flatfile.SheetId, request: Flatfile.GetRecordIndicesRequest, requestOptions?: Records.RequestOptions): core.HttpResponsePromise; private __indices; /** * Updates existing records in a workbook sheet * * @param {Flatfile.SheetId} sheetId - ID of sheet * @param {Flatfile.Records} request * @param {Records.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Flatfile.BadRequestError} * @throws {@link Flatfile.NotFoundError} * * @example * await client.records.update("us_sh_YOUR_ID", [{ * id: "us_rc_YOUR_ID", * versionId: "us_vr_YOUR_ID", * commitId: "us_vr_YOUR_ID", * values: { * "firstName": { * value: "John", * messages: [], * valid: true * }, * "lastName": { * value: "Smith", * messages: [], * valid: true * }, * "email": { * value: "john.smith@example.com", * messages: [], * valid: true * } * }, * valid: true, * metadata: {}, * config: {} * }]) */ update(sheetId: Flatfile.SheetId, request: Flatfile.Records, requestOptions?: Records.RequestOptions): core.HttpResponsePromise; private __update; /** * Adds records to a workbook sheet * * @param {Flatfile.SheetId} sheetId - ID of sheet * @param {Flatfile.RecordData[]} request * @param {Records.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Flatfile.BadRequestError} * @throws {@link Flatfile.NotFoundError} * * @example * await client.records.insert("us_sh_YOUR_ID", [{ * "firstName": { * value: "John", * messages: [], * valid: true * }, * "lastName": { * value: "Smith", * messages: [], * valid: true * }, * "email": { * value: "john.smith@example.com", * messages: [], * valid: true * } * }]) */ insert(sheetId: Flatfile.SheetId, request: Flatfile.RecordData[], requestOptions?: Records.RequestOptions): core.HttpResponsePromise; private __insert; /** * Deletes records from a workbook sheet * * @param {Flatfile.SheetId} sheetId - ID of sheet * @param {Flatfile.DeleteRecordsRequest} request * @param {Records.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Flatfile.BadRequestError} * @throws {@link Flatfile.NotFoundError} * * @example * await client.records.delete("us_sh_YOUR_ID", { * ids: "us_rc_YOUR_ID" * }) */ delete(sheetId: Flatfile.SheetId, request: Flatfile.DeleteRecordsRequest, requestOptions?: Records.RequestOptions): core.HttpResponsePromise; private __delete; /** * Searches for all values that match the 'find' value (globally or for a specific field via 'fieldKey') and replaces them with the 'replace' value. Wrap 'find' value in double quotes for exact match (""). Returns a commitId for the updated records * * @param {Flatfile.SheetId} sheetId - ID of sheet * @param {Flatfile.FindAndReplaceRecordRequest} request * @param {Records.RequestOptions} requestOptions - Request-specific configuration. * * @example * await client.records.findAndReplace("us_sh_YOUR_ID", { * fieldKey: "email" * }) */ findAndReplace(sheetId: Flatfile.SheetId, request: Flatfile.FindAndReplaceRecordRequest, requestOptions?: Records.RequestOptions): core.HttpResponsePromise; private __findAndReplace; /** * Updates multiple records at once with the same field values based on filter criteria. This is similar to a SQL UPDATE statement where you can update specific fields for all records matching certain conditions. * * @param {Flatfile.SheetId} sheetId - ID of sheet * @param {Flatfile.BulkUpdateRecordRequest} request * @param {Records.RequestOptions} requestOptions - Request-specific configuration. * * @example * await client.records.bulkUpdate("us_sh_YOUR_ID", { * fieldUpdates: { * "status": { * value: "completed" * }, * "processedAt": { * value: "2023-11-20T16:59:40.286Z" * } * } * }) */ bulkUpdate(sheetId: Flatfile.SheetId, request: Flatfile.BulkUpdateRecordRequest, requestOptions?: Records.RequestOptions): core.HttpResponsePromise; private __bulkUpdate; protected _getAuthorizationHeader(): Promise; }