import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient.js";
import { type NormalizedClientOptionsWithAuth } from "../../../../BaseClient.js";
import * as core from "../../../../core/index.js";
import * as Brevo from "../../../index.js";
export declare namespace CompaniesClient {
    type Options = BaseClientOptions;
    interface RequestOptions extends BaseRequestOptions {
    }
}
export declare class CompaniesClient {
    protected readonly _options: NormalizedClientOptionsWithAuth<CompaniesClient.Options>;
    constructor(options: CompaniesClient.Options);
    /**
     * @param {Brevo.GetCompaniesRequest} request
     * @param {CompaniesClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     *
     * @example
     *     await client.companies.getAllCompanies()
     */
    getAllCompanies(request?: Brevo.GetCompaniesRequest, requestOptions?: CompaniesClient.RequestOptions): core.HttpResponsePromise<Brevo.GetCompaniesResponse>;
    private __getAllCompanies;
    /**
     * @param {Brevo.PostCompaniesRequest} request
     * @param {CompaniesClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     *
     * @example
     *     await client.companies.createACompany({
     *         name: "company"
     *     })
     */
    createACompany(request: Brevo.PostCompaniesRequest, requestOptions?: CompaniesClient.RequestOptions): core.HttpResponsePromise<Brevo.PostCompaniesResponse>;
    private __createACompany;
    /**
     * Import companies from a CSV file with mapping options.
     *
     * @param {Brevo.PostCompaniesImportRequest} request
     * @param {CompaniesClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     *
     * @example
     *     import { createReadStream } from "fs";
     *     await client.companies.importCompaniesCreationAndUpdation({})
     */
    importCompaniesCreationAndUpdation(request: Brevo.PostCompaniesImportRequest, requestOptions?: CompaniesClient.RequestOptions): core.HttpResponsePromise<Brevo.PostCompaniesImportResponse>;
    private __importCompaniesCreationAndUpdation;
    /**
     * @param {Brevo.PatchCompaniesLinkUnlinkIdRequest} request
     * @param {CompaniesClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     *
     * @example
     *     await client.companies.linkAndUnlinkCompanyWithContactAndDeal({
     *         id: "id"
     *     })
     */
    linkAndUnlinkCompanyWithContactAndDeal(request: Brevo.PatchCompaniesLinkUnlinkIdRequest, requestOptions?: CompaniesClient.RequestOptions): core.HttpResponsePromise<void>;
    private __linkAndUnlinkCompanyWithContactAndDeal;
    /**
     * @param {Brevo.GetCompaniesIdRequest} request
     * @param {CompaniesClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     * @throws {@link Brevo.NotFoundError}
     *
     * @example
     *     await client.companies.getACompany({
     *         id: "id"
     *     })
     */
    getACompany(request: Brevo.GetCompaniesIdRequest, requestOptions?: CompaniesClient.RequestOptions): core.HttpResponsePromise<Brevo.Company>;
    private __getACompany;
    /**
     * @param {Brevo.DeleteCompaniesIdRequest} request
     * @param {CompaniesClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     * @throws {@link Brevo.NotFoundError}
     *
     * @example
     *     await client.companies.deleteACompany({
     *         id: "id"
     *     })
     */
    deleteACompany(request: Brevo.DeleteCompaniesIdRequest, requestOptions?: CompaniesClient.RequestOptions): core.HttpResponsePromise<void>;
    private __deleteACompany;
    /**
     * @param {Brevo.PatchCompaniesIdRequest} request
     * @param {CompaniesClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     * @throws {@link Brevo.NotFoundError}
     *
     * @example
     *     await client.companies.updateACompany({
     *         id: "id"
     *     })
     */
    updateACompany(request: Brevo.PatchCompaniesIdRequest, requestOptions?: CompaniesClient.RequestOptions): core.HttpResponsePromise<Brevo.Company>;
    private __updateACompany;
    /**
     * @param {Brevo.PostCrmAttributesRequest} request
     * @param {CompaniesClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     *
     * @example
     *     await client.companies.createACompanyDealAttribute({
     *         attributeType: "text",
     *         label: "Attribute Label",
     *         objectType: "companies"
     *     })
     */
    createACompanyDealAttribute(request: Brevo.PostCrmAttributesRequest, requestOptions?: CompaniesClient.RequestOptions): core.HttpResponsePromise<Brevo.PostCrmAttributesResponse>;
    private __createACompanyDealAttribute;
    /**
     * @param {Brevo.DeleteCrmAttributesIdRequest} request
     * @param {CompaniesClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     * @throws {@link Brevo.NotFoundError}
     *
     * @example
     *     await client.companies.deleteAnAttribute({
     *         id: "id"
     *     })
     */
    deleteAnAttribute(request: Brevo.DeleteCrmAttributesIdRequest, requestOptions?: CompaniesClient.RequestOptions): core.HttpResponsePromise<void>;
    private __deleteAnAttribute;
    /**
     * @param {Brevo.PatchCrmAttributesIdRequest} request
     * @param {CompaniesClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Brevo.BadRequestError}
     * @throws {@link Brevo.NotFoundError}
     *
     * @example
     *     await client.companies.updateAnAttribute({
     *         id: "id"
     *     })
     */
    updateAnAttribute(request: Brevo.PatchCrmAttributesIdRequest, requestOptions?: CompaniesClient.RequestOptions): core.HttpResponsePromise<void>;
    private __updateAnAttribute;
    /**
     * @param {CompaniesClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @example
     *     await client.companies.getCompanyAttributes()
     */
    getCompanyAttributes(requestOptions?: CompaniesClient.RequestOptions): core.HttpResponsePromise<Brevo.GetCrmAttributesCompaniesResponseItem[]>;
    private __getCompanyAttributes;
}
