/** * This file was auto-generated by Fern from our API Definition. */ import * as environments from "../../../../environments"; import * as core from "../../../../core"; import * as Abound from "../../../index"; export declare namespace FormW8BenE { interface Options { environment?: core.Supplier; /** Specify a custom URL to connect the client to. */ baseUrl?: core.Supplier; apiKey: core.Supplier; 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; /** Additional headers to include in the request. */ headers?: Record; } } export declare class FormW8BenE { protected readonly _options: FormW8BenE.Options; constructor(_options: FormW8BenE.Options); /** * Returns a list of W-8BEN-E documents. * * @param {Abound.FormW8BenEListRequest} request * @param {FormW8BenE.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Abound.types.BadRequestErrorSchema} * @throws {@link Abound.types.UnauthorizedErrorSchema} * @throws {@link Abound.types.NotFoundErrorSchema} * @throws {@link Abound.types.InternalServerErrorSchema} * * @example * await client.formW8BenE.list() */ list(request?: Abound.FormW8BenEListRequest, requestOptions?: FormW8BenE.RequestOptions): Promise; /** * Creates a W-8BEN-E document and, if present, subsequently kicks off a TIN Verification. A TIN Verification will only kickoff if the name and TIN combo has not been seen before. * * @param {Abound.W8BenERequestSchema} request * @param {FormW8BenE.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Abound.types.BadRequestErrorSchema} * @throws {@link Abound.types.UnauthorizedErrorSchema} * @throws {@link Abound.types.NotFoundErrorSchema} * @throws {@link Abound.types.InternalServerErrorSchema} * * @example * await client.formW8BenE.create({ * payee: { * name: "Hooli", * incorporationCountry: "GB", * tin: "111111111", * foreignTin: "DQ123456C", * permanentResidenceAddress: { * address: "43 Hilly Fields", * address2: "Suite 32", * city: "Lewisham", * state: "London", * postalCode: "SE13 7JN", * country: "GB" * }, * mailingAddress: { * address: "256 Byron Street", * address2: "Suite 32", * city: "Palo Alto", * postalCode: "94306", * state: "CA", * country: "US" * } * }, * formFields: { * taxClassification: "CORPORATION", * isForeignTinNotRequired: false, * taxTreatyCode: "GB_17_INDEPENDENT_PERSONAL_SERVICES", * referenceNumbers: ["123456789"], * isCertified: true, * electronicSignature: { * signature: "Hooli Representative", * printedName: "Hooli Representative", * signedAt: "2024-01-01T00:00:00.000Z", * ipAddress: "127.0.0.1" * } * } * }) */ create(request: Abound.W8BenERequestSchema, requestOptions?: FormW8BenE.RequestOptions): Promise; /** * Retrieves the details of an existing W-8BEN-E document. * * @param {Abound.types.DocumentId} documentId * @param {FormW8BenE.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Abound.types.BadRequestErrorSchema} * @throws {@link Abound.types.UnauthorizedErrorSchema} * @throws {@link Abound.types.NotFoundErrorSchema} * @throws {@link Abound.types.InternalServerErrorSchema} * * @example * await client.formW8BenE.retrieve("documentId_sampleGyuBXlfAwo") */ retrieve(documentId: Abound.types.DocumentId, requestOptions?: FormW8BenE.RequestOptions): Promise; protected _getAuthorizationHeader(): Promise; }