import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient.mjs"; import { type NormalizedClientOptionsWithAuth } from "../../../../BaseClient.mjs"; import * as core from "../../../../core/index.mjs"; import * as Brevo from "../../../index.mjs"; export declare namespace DealsClient { type Options = BaseClientOptions; interface RequestOptions extends BaseRequestOptions { } } export declare class DealsClient { protected readonly _options: NormalizedClientOptionsWithAuth; constructor(options?: DealsClient.Options); /** * Retrieve the list of all attributes defined for deals, including both system-default and custom attributes. Each attribute includes its label, internal name, type, required status, and available options for select-type attributes. * * @param {DealsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Brevo.BadRequestError} * @throws {@link errors.BrevoError} * @throws {@link errors.BrevoTimeoutError} * * @example * await client.deals.getDealAttributes() */ getDealAttributes(requestOptions?: DealsClient.RequestOptions): core.HttpResponsePromise; private __getDealAttributes; /** * Retrieve a paginated list of deals with optional filtering, sorting, and search capabilities. Results can be filtered by attributes such as deal name or owner, linked companies, linked contacts, or modification/creation timestamps. Default sort order is descending by creation date. * * @param {Brevo.GetCrmDealsRequest} request * @param {DealsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Brevo.BadRequestError} * @throws {@link errors.BrevoError} * @throws {@link errors.BrevoTimeoutError} * * @example * await client.deals.getAllDeals() */ getAllDeals(request?: Brevo.GetCrmDealsRequest, requestOptions?: DealsClient.RequestOptions): core.HttpResponsePromise; private __getAllDeals; /** * Create a new deal in the CRM with the specified name, attributes, and optional associations to contacts and companies. You can assign the deal to a specific pipeline and stage by providing `pipeline` and `deal_stage` attribute IDs, which can be retrieved from the pipeline details endpoint. * * @param {Brevo.PostCrmDealsRequest} request * @param {DealsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Brevo.BadRequestError} * @throws {@link errors.BrevoError} * @throws {@link errors.BrevoTimeoutError} * * @example * await client.deals.createADeal({ * name: "Deal: Connect with company" * }) */ createADeal(request: Brevo.PostCrmDealsRequest, requestOptions?: DealsClient.RequestOptions): core.HttpResponsePromise; private __createADeal; /** * Import deals from a CSV file with mapping options. * * @param {Brevo.PostCrmDealsImportRequest} request * @param {DealsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Brevo.BadRequestError} * @throws {@link errors.BrevoError} * @throws {@link errors.BrevoTimeoutError} * * @example * import { createReadStream } from "fs"; * await client.deals.importDealsCreationAndUpdation({}) */ importDealsCreationAndUpdation(request: Brevo.PostCrmDealsImportRequest, requestOptions?: DealsClient.RequestOptions): core.HttpResponsePromise; private __importDealsCreationAndUpdation; /** * Link or unlink contacts and companies with a specific deal in a single request. You can simultaneously link new contacts/companies and unlink existing ones by providing the respective ID arrays in the request body. * * @param {Brevo.PatchCrmDealsLinkUnlinkIdRequest} request * @param {DealsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Brevo.BadRequestError} * @throws {@link errors.BrevoError} * @throws {@link errors.BrevoTimeoutError} * * @example * await client.deals.linkAndUnlinkADealWithContactsAndCompanies({ * id: "id" * }) */ linkAndUnlinkADealWithContactsAndCompanies(request: Brevo.PatchCrmDealsLinkUnlinkIdRequest, requestOptions?: DealsClient.RequestOptions): core.HttpResponsePromise; private __linkAndUnlinkADealWithContactsAndCompanies; /** * Retrieve the full details of a single deal by its identifier, including its attributes, pipeline stage, linked contacts, and linked companies. Returns a 404 error if the deal does not exist. * * @param {Brevo.GetCrmDealsIdRequest} request * @param {DealsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Brevo.BadRequestError} * @throws {@link Brevo.NotFoundError} * @throws {@link errors.BrevoError} * @throws {@link errors.BrevoTimeoutError} * * @example * await client.deals.getADeal({ * id: "id" * }) */ getADeal(request: Brevo.GetCrmDealsIdRequest, requestOptions?: DealsClient.RequestOptions): core.HttpResponsePromise; private __getADeal; /** * Permanently delete a deal by its identifier. The requesting user must be the deal owner or have manage permission on deals; otherwise, a 403 Forbidden error is returned. * * @param {Brevo.DeleteCrmDealsIdRequest} request * @param {DealsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Brevo.BadRequestError} * @throws {@link Brevo.NotFoundError} * @throws {@link errors.BrevoError} * @throws {@link errors.BrevoTimeoutError} * * @example * await client.deals.deleteADeal({ * id: "id" * }) */ deleteADeal(request: Brevo.DeleteCrmDealsIdRequest, requestOptions?: DealsClient.RequestOptions): core.HttpResponsePromise; private __deleteADeal; /** * Update an existing deal''s attributes, name, linked contacts, or linked companies. Note that passing `linkedContactsIds` or `linkedCompaniesIds` replaces the entire list of associations, so omitted IDs will be removed. To move a deal to a different pipeline or stage, provide both the `pipeline` and `deal_stage` attribute IDs. * * @param {Brevo.PatchCrmDealsIdRequest} request * @param {DealsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Brevo.BadRequestError} * @throws {@link Brevo.NotFoundError} * @throws {@link errors.BrevoError} * @throws {@link errors.BrevoTimeoutError} * * @example * await client.deals.updateADeal({ * id: "id" * }) */ updateADeal(request: Brevo.PatchCrmDealsIdRequest, requestOptions?: DealsClient.RequestOptions): core.HttpResponsePromise; private __updateADeal; /** * @deprecated * * This endpoint is deprecated. Prefer /crm/pipeline/details/{pipelineID} instead. * * @param {DealsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Brevo.BadRequestError} * @throws {@link errors.BrevoError} * @throws {@link errors.BrevoTimeoutError} * * @example * await client.deals.getPipelineStages() */ getPipelineStages(requestOptions?: DealsClient.RequestOptions): core.HttpResponsePromise; private __getPipelineStages; /** * Retrieve the list of all deal pipelines configured for your account, including each pipeline''s stages and settings. If no pipelines have been configured yet, a default pipeline is automatically created and returned. * * @param {DealsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Brevo.BadRequestError} * @throws {@link errors.BrevoError} * @throws {@link errors.BrevoTimeoutError} * * @example * await client.deals.getAllPipelines() */ getAllPipelines(requestOptions?: DealsClient.RequestOptions): core.HttpResponsePromise; private __getAllPipelines; /** * Retrieve the details of a specific deal pipeline by its identifier, including its stages, stage ordering, and configuration. Use this endpoint to obtain the pipeline and stage IDs needed when creating or updating deals. * * @param {Brevo.GetCrmPipelineDetailsPipelineIdRequest} request * @param {DealsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Brevo.BadRequestError} * @throws {@link errors.BrevoError} * @throws {@link errors.BrevoTimeoutError} * * @example * await client.deals.getAPipeline({ * pipelineID: "pipelineID" * }) */ getAPipeline(request: Brevo.GetCrmPipelineDetailsPipelineIdRequest, requestOptions?: DealsClient.RequestOptions): core.HttpResponsePromise; private __getAPipeline; }