import { DjustConfig, PageableParameters } from "../../interfaces/models/common";
import { CreateCustomerAccountAddressParameters, CreateCustomerAccountAddressResponse, CreateCustomerAccountOrganisationParameters, CreateCustomerAccountOrganisationResponse, CreateCustomerAccountParameters, CreateCustomerAccountResponse, DeleteCustomerAccountAddressParameters, DeleteCustomerAccountOrganisationAddressParameters, GetCustomerAccountAddressesParameters, GetCustomerAccountAddressesResponse, GetCustomerAccountOrdersParameters, GetCustomerAccountOrdersResponse, GetCustomerAccountOrganisationAddressesParameters, GetCustomerAccountOrganisationAddressesResponse, GetCustomerAccountOrganisationOrdersParameters, GetCustomerAccountOrganisationOrdersResponse, GetCustomerAccountOrganisationResponse, GetCustomerAccountOrganisationUsersParameters, GetCustomerAccountOrganisationUsersResponse, GetCustomerAccountResponse, GetCustomerAccountUsersParameters, GetCustomerAccountUsersResponse, UpdateCustomerAccountAddressParameters, UpdateCustomerAccountAddressResponse, UpdateCustomerAccountOrganisationAddressParameters, UpdateCustomerAccountOrganisationAddressResponse, UpdateCustomerAccountOrganisationParameters, UpdateCustomerAccountOrganisationResponse, UpdateCustomerAccountOrganisationUserParameters, UpdateCustomerAccountOrganisationUserResponse, UpdateCustomerAccountParameters, UpdateCustomerAccountResponse, GetCustomerAccountResponseV2, GetCustomerAccountCustomFieldsResponse, GetCustomerAccountCustomFieldsParameters } from "./definitions";
/**
 * 📄 Get customer account details.
 *
 * This function retrieves the detailed information of a customer account, including addresses, main contacts, custom fields, and more.
 *
 * 🛠 **Endpoint**: `GET /v1/shop/customer-accounts`
 *
 * 📤 **Returns**:
 * A `Promise<GetCustomerAccountResponse>` containing the customer account details.
 *
 * 🛠 **Example usage**:
 * ```ts
 * const response = await getCustomerAccount();
 * console.log(response);
 * ```
 */
export declare function getCustomerAccount(config?: DjustConfig): Promise<GetCustomerAccountResponse>;
/**
 * 📋 Get customer accounts.
 *
 * This function retrieves a paginated list of customer accounts.
 *
 * 🛠 **Endpoint**: `GET /v2/shop/customer-accounts`
 *
 * | **Parameter**        | **Type**   | **Required** | **Description**                                                           |
 * |----------------------|------------|--------------|---------------------------------------------------------------------------|
 * | `pageable`           | `object`   | ❌          | The pagination parameters to retrieve paginated results.                 |
 *
 * 📤 **Returns**:
 * A `Promise<GetCustomerAccountResponseV2>` containing the paginated list of customer accounts.
 *
 * 🛠 **Example usage**:
 * ```typescript
 * const accounts = await getCustomerAccountV2({
 *   pageable: { page: 0, size: 20 },
 * });
 * console.log(accounts);
 * ```
 *
 * @param {PageableParameters} pageable - The pagination parameters.
 * @returns {Promise<GetCustomerAccountResponseV2>} - The response containing the customer accounts.
 */
export declare function getCustomerAccountV2(pageable: PageableParameters): Promise<GetCustomerAccountResponseV2>;
/**
 * 📄 Creates a new customer account.
 *
 * This function allows the creation of a new customer account with relevant details including addresses, user information, and custom fields.
 *
 * 🛠 **Endpoint**: `POST /v1/shop/customer-accounts` [ACCOUNT-100]
 *
 * | Parameter                        | Type                           | Required | Description |
 * |-----------------------------------|--------------------------------|----------|-------------|
 * | `createAddressRequests`           | `object[]`                     | ✅        | List of addresses to create, including `address`, `city`, `country`, `billing`, and `shipping` status. |
 * | `createCustomerUserRequest`      | `object`                       | ✅        | Contains user details such as `email`, `firstName`, `lastName`, `groups`, `password`, and `phone`. |
 * | `createObjectCustomerAccountRequest` | `object`                    | ✅        | Main account details including `accountManager`, `businessRegistrationNumber`, `companyRegistrationName`, `externalId`, `name`, `vatNumber`, and `website`. |
 * | `customFieldValues`               | `object[]`                     | ✅        | List of custom fields with their `customFieldId` and `customFieldValue`. |
 * | `customerTagList`                 | `string[]`                     | ✅        | List of customer tags. |
 * | `fromFO`                          | `boolean`                      | ✅        | Flag indicating if the account is created from the front-office (FO). |
 * | `legalUser`                       | `object`                     | ✅        | Information about the legal user including `birthday`, `countryOfResidence`, `email`, `firstName`, `lastName`, and `nationality`. |
 *
 * 📤 **Returns**:
 * A `Promise<CreateCustomerAccountResponse>` containing the details of the created customer account.
 *
 * 🛠 **Example usage**:
 * ```ts
 * const response = await createCustomerAccount({
 *   createAddressRequests: [
 *     {
 *       address: "123 Main Street",
 *       city: "Paris",
 *       country: "FR",
 *       billing: true,
 *       shipping: true,
 *       fullName: "John Doe",
 *       zipcode: "75001"
 *     }
 *   ],
 *   createCustomerUserRequest: {
 *     email: "john.doe@example.com",
 *     firstName: "John",
 *     lastName: "Doe",
 *     password: "securePassword123",
 *     phone: "+33123456789"
 *   },
 *   createObjectCustomerAccountRequest: {
 *     name: "Acme Corporation",
 *     externalId: "acme-corp-001",
 *     vatNumber: "FR12345678901"
 *   },
 *   customFieldValues: [
 *     {
 *       customFieldId: "industry",
 *       customFieldValue: "technology"
 *     }
 *   ],
 *   customerTagList: ["premium", "enterprise"],
 *   fromFO: true,
 *   legalUser: {
 *     birthday: "1990-01-01T00:00:00.000Z",
 *     countryOfResidence: "FR",
 *     email: "john.doe@example.com",
 *     firstName: "John",
 *     lastName: "Doe",
 *     nationality: "FR"
 *   }
 * });
 * ```
 *
 * @param {CreateCustomerAccountParameters} params - The parameters for creating a customer account
 * @throws {Error} If required parameters are missing
 * @returns {Promise<CreateCustomerAccountResponse>} A promise resolving to the response containing the created customer account
 */
export declare function createCustomerAccount({ createAddressRequests, createCustomerUserRequest, createObjectCustomerAccountRequest, customFieldValues, customerTagList, fromFO, legalUser, ...config }: CreateCustomerAccountParameters & DjustConfig): Promise<CreateCustomerAccountResponse>;
/**
 * 📄 Update customer account details.
 *
 * This function allows you to update the details of an existing customer account, including account manager, registration details, tags, and more.
 *
 * 🛠 **Endpoint**: `PUT /v1/shop/customer-accounts`
 *
 * 📤 **Returns**:
 * A `Promise<UpdateCustomerAccountResponse>` containing the updated customer account details.
 *
 * 🛠 **Example usage**:
 * ```ts
 * const response = await updateCustomerAccount({
 *   name: "Updated Company Name",
 *   accountManager: "John Doe",
 *   vatNumber: "FR12345678901",
 * });
 * console.log(response);
 * ```
 */
export declare function updateCustomerAccount({ accountManager, businessRegistrationNumber, companyRegistrationName, customFieldValues, customerTagList, legalUser, name, vatNumber, website, ...config }: UpdateCustomerAccountParameters & DjustConfig): Promise<UpdateCustomerAccountResponse>;
/**
 * 📄 Get customer account's addresses.
 *
 * This function retrieves the addresses associated with a specific customer account, including shipping and billing addresses.
 *
 * 🛠 **Endpoint**: `GET /v1/shop/customer-accounts/addresses`
 *
 * | Parameter     | Type      | Required | Description                                          |
 * |---------------|-----------|----------|------------------------------------------------------|
 * | `shipping`    | `boolean` | ✅        | Flag to include shipping address.                   |
 * | `billing`     | `boolean` | ✅        | Flag to include billing address.                    |
 *
 * 📤 **Returns**:
 * A `Promise<GetCustomerAccountAddressesResponse>` containing the addresses associated with the customer account.
 *
 * 🛠 **Example usage**:
 * ```ts
 * const response = await getCustomerAccountAddresses({ shipping: true, billing: true });
 * console.log(response);
 * ```
 */
export declare function getCustomerAccountAddresses(params: GetCustomerAccountAddressesParameters & DjustConfig): Promise<GetCustomerAccountAddressesResponse>;
/**
 * 📄 Create an address for a customer account.
 *
 * This function creates a new address for a specific customer account, with optional fields like shipping and billing flags.
 *
 * 🛠 **Endpoint**: `POST /v1/shop/customer-accounts/addresses`
 *
 * | Parameter           | Type      | Required | Description                                          |
 * |---------------------|-----------|----------|------------------------------------------------------|
 * | `additionalAddress`  | `string`  | ❌       | Additional address line.                             |
 * | `address`            | `string`  | ✅        | The main address of the customer.                    |
 * | `billing`            | `boolean` | ❌       | Flag indicating if it's a billing address.           |
 * | `city`               | `string`  | ✅        | The city of the customer address.                    |
 * | `company`            | `string`  | ❌       | The company name associated with the address.        |
 * | `country`            | `string`  | ✅        | The country of the customer address.                 |
 * | `externalId`         | `string`  | ❌       | External ID for the address.                         |
 * | `fullName`           | `string`  | ✅        | The full name of the person associated with the address. |
 * | `label`              | `string`  | ❌       | Label for the address.                               |
 * | `phone`              | `string`  | ❌       | Phone number associated with the address.            |
 * | `shipping`           | `boolean` | ❌       | Flag indicating if it's a shipping address.          |
 * | `state`              | `string`  | ❌       | The state/province of the customer address.          |
 * | `zipcode`            | `string`  | ✅        | The postal code for the customer address.            |
 *
 * 📤 **Returns**:
 * A `Promise<CreateCustomerAccountAddressResponse>` containing the created customer account address.
 *
 * 🛠 **Example usage**:
 * ```ts
 * const response = await createCustomerAccountAddress({
 *   additionalAddress: "string",
 *   address: "string",
 *   billing: true,
 *   city: "string",
 *   company: "string",
 *   country: "string",
 *   externalId: "string",
 *   fullName: "string",
 *   label: "string",
 *   phone: "string",
 *   shipping: true,
 *   state: "string",
 *   zipcode: "string"
 * });
 * console.log(response);
 * ```
 */
export declare function createCustomerAccountAddress(params: CreateCustomerAccountAddressParameters & DjustConfig): Promise<CreateCustomerAccountAddressResponse>;
/**
 * 🗑️ Delete an address from a customer account.
 *
 * This function deletes a specific address from a customer's account based on the provided address ID.
 *
 * 🛠 **Endpoint**: `DELETE /v1/shop/customer-accounts/addresses/{addressId}`
 *
 * | Parameter   | Type     | Required | Description                      |
 * |-------------|----------|----------|----------------------------------|
 * | `addressId` | `string` | ✅        | The ID of the address to delete. |
 *
 * 📤 **Returns**: `Promise<void>` - No content response indicating successful deletion.
 *
 * 🛠 **Example usage**:
 * ```ts
 * const response = await deleteCustomerAccountAddress({ addressId: "string" });
 * console.log(response); // No content response
 * ```
 */
export declare function deleteCustomerAccountAddress({ addressId, ...config }: DeleteCustomerAccountAddressParameters & DjustConfig): Promise<void>;
/**
 * ✏️ Update an address for a customer account.
 *
 * This function allows you to update an existing address for a customer account. You must provide the address ID and at least one of the optional parameters for updating the address.
 *
 * 🛠 **Endpoint**: `PUT /v1/shop/customer-accounts/addresses/{addressId}`
 *
 * | Parameter            | Type      | Required | Description                                           |
 * |----------------------|-----------|----------|-------------------------------------------------------|
 * | `addressId`          | `string`  | ✅        | The ID of the address to update.                      |
 * | `additionalAddress`   | `string`  | ❌       | Additional address line.                              |
 * | `address`             | `string`  | ✅        | The main address of the customer.                     |
 * | `billing`             | `boolean` | ❌       | Flag indicating if it's a billing address.            |
 * | `city`                | `string`  | ✅        | The city of the customer address.                     |
 * | `company`             | `string`  | ❌       | The company name associated with the address.         |
 * | `country`             | `string`  | ✅        | The country of the customer address.                  |
 * | `fullName`            | `string`  | ✅        | The full name of the person associated with the address. |
 * | `label`               | `string`  | ❌       | Label for the address.                                |
 * | `phone`               | `string`  | ❌       | Phone number associated with the address.             |
 * | `shipping`            | `boolean` | ❌       | Flag indicating if it's a shipping address.           |
 * | `state`               | `string`  | ❌       | The state/province of the customer address.           |
 * | `zipcode`             | `string`  | ✅        | The postal code for the customer address.             |
 *
 * 📤 **Returns**:
 * A `Promise<UpdateCustomerAccountAddressResponse>` containing the updated customer account address.
 *
 * 🛠 **Example usage**:
 * ```ts
 * const response = await updateCustomerAccountAddress({
 *   addressId: "string",
 *   additionalAddress: "string",
 *   address: "string",
 *   billing: true,
 *   city: "string",
 *   company: "string",
 *   country: "string",
 *   fullName: "string",
 *   label: "string",
 *   phone: "string",
 *   shipping: true,
 *   state: "string",
 *   zipcode: "string"
 * });
 * console.log(response); // Updated address details
 * ```
 */
export declare function updateCustomerAccountAddress({ addressId, additionalAddress, address, billing, city, company, country, fullName, label, phone, shipping, state, zipcode, ...config }: UpdateCustomerAccountAddressParameters & DjustConfig): Promise<UpdateCustomerAccountAddressResponse>;
/**
 * 📋 Get customer account custom fields.
 *
 * This function retrieves custom fields for a customer account.
 *
 * 🛠 **Endpoint**: `GET /v1/shop/customer-accounts/custom-fields` [ACCOUNT-554]
 *
 * | **Parameter**        | **Type**   | **Required** | **Description**                                                           |
 * |----------------------|------------|--------------|---------------------------------------------------------------------------|
 * | `customFieldIds`     | `string[]` | ❌           | The array of custom fields IDs to retrieve.                               |
 * | `idType`             | `AccountCustomFieldsIdType` | ❌  | The type of custom field ID to use to retrieve them (e.g., `DJUST_ID`, `EXTERNAL_ID`).                  |
 * | `pageable`           | `object`   | ❌           | The pagination parameters to retrieve paginated results.                  |
 *
 * 📤 **Returns**:
 * A `Promise<GetCustomerAccountCustomFieldsResponse>` containing the custom fields.
 *
 * 🛠 **Example Usage**:
 * ```typescript
 * const customFields = await getCustomerAccountCustomFields({
 *   customFieldIds: ['customField1', 'customField2'],
 *   idType: 'EXTERNAL_ID',
 *   pageable: { page: 1, size: 10 },
 * });
 * ```
 */
export declare function getCustomerAccountCustomFields({ customFieldIds, idType, pageable, }: GetCustomerAccountCustomFieldsParameters): Promise<GetCustomerAccountCustomFieldsResponse>;
/**
 * 📋 Retrieves orders for a customer account.
 *
 * This function fetches the orders for a customer account based on the provided parameters.
 *
 * 🛠 **Endpoint**: `GET /v1/shop/customer-accounts/orders`
 *
 * | **Parameter**        | **Type**   | **Required** | **Description**                                                           |
 * |----------------------|------------|--------------|---------------------------------------------------------------------------|
 * | `pageable`           | `object`   | ✅           | The pagination parameters to retrieve paginated results.                 |
 * | `locale`             | `string`   | ✅           | The locale to be used for the response.                                  |
 * | `nbPreviewLines`     | `number`   | ❌           | The number of order lines to retrieve by orders (default: 100).          |
 * | `logisticOrderStatuses`| `string[]`| ❌          | The statuses of the orders to retrieve.                                  |
 * | `orderLogisticStatusType`| `string`| ❌          | The status of the orders to retrieve (deprecated, use logisticOrderStatuses instead). |
 *
 * 📤 **Returns**:
 * A `Promise<GetCustomerAccountOrdersResponse>` containing the retrieved customer account orders.
 *
 * 🛠 **Example Usage**:
 * ```typescript
 * const orders = await getCustomerAccountOrders({
 *   pageable: { page: 0, size: 20, sort: ['createdAt,DESC'] },
 *   locale: 'en',
 *   nbPreviewLines: 100,
 *   logisticOrderStatuses: ["ORDER_CREATED", "WAITING_CUSTOMER_APPROVAL"],
 * });
 * ```
 *
 * @param {GetCustomerAccountOrdersParameters} params - The parameters for fetching customer account orders:
 *   - `pageable` - Pagination parameters (page, size, sort).
 *   - `locale` - The locale for the response.
 *   - `nbPreviewLines` (optional) - Number of order lines to put in the response (default: 100).
 *   - `logisticOrderStatuses` (optional) - Array of statuses of the orders to retrieve.
 *   - `orderLogisticStatusType` (optional, deprecated) - Single status of the orders to retrieve. Use logisticOrderStatuses instead.
 *
 * @returns {Promise<GetCustomerAccountOrdersResponse>} - The response containing the customer account orders.
 */
export declare function getCustomerAccountOrders(params: GetCustomerAccountOrdersParameters & DjustConfig): Promise<GetCustomerAccountOrdersResponse>;
/**
 * 📋 Retrieve Customer Account Users
 *
 * This function retrieves the list of users associated with a specific customer account.
 *
 * 🛠 **Endpoint**: `GET /v1/shop/customer-accounts/users` [ACCOUNT-502]
 *
 * | **Parameter**     | **Type**   | **Required** | **Description**                                             |
 * |-------------------|------------|--------------|-------------------------------------------------------------|
 * | `pageable`        | `object`   | ✅           | Object containing pagination details: `page`, `size`, etc. |
 * | `forAllAccounts`  | `boolean`  | ❌           | Specifies if we want to retrieve users of all my users' accounts  |
 * | `query`           | `string`   | ❌           | Search query to filter users.                                |
 * | `locale`          | `string`   | ❌           | The locale in which data should be retrieved.               |
 *
 * 📤 **Returns**:
 * A `Promise<GetCustomerAccountUsersResponse>` containing the list of users and pagination metadata.
 *
 * 🛠 **Example usage**:
 * ```typescript
 * const response = await getCustomerAccountUsers({
 *   pageable: { page: 0, size: 20 },
 *   locale: "fr-FR",
 *   query: "john",
 * });
 * console.log(response);
 * ```
 */
export declare function getCustomerAccountUsers(params: GetCustomerAccountUsersParameters & DjustConfig): Promise<GetCustomerAccountUsersResponse>;
/**
 * ## Create a Customer Account's Organisation
 *
 * This function allows the creation of a new organisation within a customer account.
 *
 * ### API Code: ACCOUNT-101
 *
 * ### **Endpoint**: `POST /v1/shop/customer-accounts/organisations`
 *
 * | **Parameter**     | **Type**   | **Required** | **Description**                                               |
 * |-------------------|------------|--------------|---------------------------------------------------------------|
 * | `externalId`      | `string`   | ✅           | A unique identifier for the organisation.                     |
 * | `name`            | `string`   | ✅           | The name of the organisation.                                 |
 * | `parentId`        | `string`   | ❌           | The ID of the parent organisation, if applicable.             |
 *
 * ### **Returns**:
 * A `Promise<CreateCustomerAccountOrganisationResponse>` containing the newly created organisation data.
 *
 * ### **Example Usage**:
 * ```typescript
 * const response = await createCustomerAccountOrganisation({
 *   externalId: "org123",
 *   name: "My Organisation",
 *   parentId: "parentOrgId"
 * });
 * ```
 */
export declare function createCustomerAccountOrganisation(params: CreateCustomerAccountOrganisationParameters & DjustConfig): Promise<CreateCustomerAccountOrganisationResponse>;
/**
 * ## Update a customer account's organisation
 *
 * This function allows updating an existing organisation within a customer account.
 *
 * ### API Code: ACCOUNT-202
 *
 * ### **Endpoint**: `PUT /v1/shop/customer-accounts/organisations/{organisationId}`
 *
 * | **Parameter**      | **Type**   | **Required** | **Description**                                               |
 * |--------------------|------------|--------------|---------------------------------------------------------------|
 * | `organisationId`   | `string`   | ✅           | The unique identifier of the organisation to be updated.      |
 * | `name`             | `string`   | ❌           | The new name of the organisation.                             |
 * | `parentId`         | `string`   | ❌           | The new parent ID for the organisation, if applicable.        |
 * | `status`           | `string`   | ❌           | The new status of the organisation (e.g., ACTIVE, INACTIVE).  |
 *
 * ### **Returns**:
 * A `Promise<UpdateCustomerAccountOrganisationResponse>` containing the updated organisation data.
 *
 * ### **Example Usage**:
 * ```typescript
 * const response = await updateCustomerAccountOrganisation({
 *   organisationId: "org12345",
 *   name: "Updated Organisation Name",
 *   parentId: "parentOrg123",
 *   status: "ACTIVE",
 * });
 *
 * console.log(response);
 * ```
 */
export declare function updateCustomerAccountOrganisation(params: UpdateCustomerAccountOrganisationParameters & DjustConfig): Promise<UpdateCustomerAccountOrganisationResponse>;
/**
 * @deprecated
 * ## Get organisations from customer account
 *
 * This function retrieves all organisations associated with a customer account.
 *
 * ### API Code: ACCOUNT-503
 *
 * ### **Endpoint**: `GET /v1/shop/customer-accounts/organisations`
 *
 * | **Parameter**     | **Type**   | **Required** | **Description**                                             |
 * |-------------------|------------|--------------|-------------------------------------------------------------|
 * | `pageable`        | `object`   | ❌           | Object containing pagination details: `page`, `size`, `sort`. |
 *
 * ### **Returns**:
 * A `Promise<GetCustomerAccountOrganisationResponse>` containing the list of customer account organisations.
 *
 * ### **Example Usage**:
 * ```typescript
 * const response = await getCustomerAccountOrganisations({
 *   pageable: { page: 0, size: 20 }
 * });
 * console.log(response);
 * ```
 */
export declare function getCustomerAccountOrganisations(params?: {
    pageable?: PageableParameters;
} & DjustConfig): Promise<GetCustomerAccountOrganisationResponse>;
/**
 * ## Get addresses from a customer account organisation
 *
 * This function retrieves all the addresses associated with a given customer account organisation.
 *
 * ### API Code: ACCOUNT-505
 *
 * ### **Endpoint**: `GET /v1/shop/customer-accounts/organisations/{organisationId}/addresses`
 *
 * | **Parameter**       | **Type**   | **Required** | **Description**                                                    |
 * |---------------------|------------|--------------|--------------------------------------------------------------------|
 * | `organisationId`    | `string`   | ✅           | The unique identifier of the organisation whose addresses are being retrieved. |
 *
 * ### **Returns**:
 * A `Promise<GetCustomerAccountOrganisationAddressesResponse>` containing the list of addresses for the specified customer account organisation.
 *
 * ### **Example Usage**:
 * ```typescript
 * const addresses = await getCustomerAccountOrganisationAddresses({ organisationId: "org12345" });
 * console.log(addresses);
 * ```
 */
export declare function getCustomerAccountOrganisationAddresses(params: GetCustomerAccountOrganisationAddressesParameters & DjustConfig): Promise<GetCustomerAccountOrganisationAddressesResponse>;
/**
 * ## Delete an address from a customer account organisation
 *
 * This function deletes a specific address from a given customer account organisation.
 *
 * ### API Code: ADDRESS-301
 *
 * ### **Endpoint**: `DELETE /v1/shop/customer-accounts/organisations/{organisationId}/addresses/{addressId}`
 *
 * | **Parameter**       | **Type**   | **Required** | **Description**                                                     |
 * |---------------------|------------|--------------|---------------------------------------------------------------------|
 * | `organisationId`    | `string`   | ✅           | The unique identifier of the organisation from which the address will be deleted. |
 * | `addressId`         | `string`   | ✅           | The unique identifier of the address to delete.                     |
 *
 * ### **Returns**:
 * A `Promise<void>` that resolves when the address is successfully deleted.
 *
 * ### **Example Usage**:
 * ```typescript
 * await deleteCustomerAccountOrganisationAddress({
 *   organisationId: "org12345",
 *   addressId: "addr67890",
 * });
 * console.log('Address deleted successfully.');
 * ```
 */
export declare function deleteCustomerAccountOrganisationAddress(params: DeleteCustomerAccountOrganisationAddressParameters & DjustConfig): Promise<void>;
/**
 * ## Update an address from a customer account organisation
 *
 * This function allows updating an existing address within a customer account organisation.
 *
 * ### API Code: ADDRESS-201
 *
 * ### **Endpoint**: `PUT /v1/shop/customer-accounts/organisations/{organisationId}/addresses/{addressId}`
 *
 * | **Parameter**        | **Type**   | **Required** | **Description**                                                   |
 * |----------------------|------------|--------------|-------------------------------------------------------------------|
 * | `organisationId`     | `string`   | ✅           | The unique identifier of the organisation containing the address. |
 * | `addressId`          | `string`   | ✅           | The unique identifier of the address to be updated.               |
 * | `additionalAddress`  | `string`   | ❌           | Additional address information (optional).                        |
 * | `address`            | `string`   | ❌           | The street address (optional).                                    |
 * | `billing`            | `boolean`  | ❌           | Whether the address is for billing purposes (optional).           |
 * | `city`               | `string`   | ❌           | The city of the address (optional).                               |
 * | `company`            | `string`   | ❌           | The company associated with the address (optional).               |
 * | `country`            | `string`   | ❌           | The country of the address (optional).                            |
 * | `fullName`           | `string`   | ❌           | The full name of the person associated with the address (optional).|
 * | `label`              | `string`   | ❌           | A label for the address (optional).                               |
 * | `phone`              | `string`   | ❌           | The phone number associated with the address (optional).          |
 * | `shipping`           | `boolean`  | ❌           | Whether the address is for shipping purposes (optional).          |
 * | `state`              | `string`   | ❌           | The state or region of the address (optional).                    |
 * | `zipcode`            | `string`   | ❌           | The postal code for the address (optional).                       |
 *
 * ### **Returns**:
 * A `Promise<UpdateCustomerAccountOrganisationAddressResponse>` containing the updated address data.
 *
 * ### **Example Usage**:
 * ```typescript
 * const response = await updateCustomerAccountOrganisationAddress({
 *   organisationId: "org12345",
 *   addressId: "address12345",
 *   additionalAddress: "Suite 5",
 *   address: "123 Main St",
 *   billing: true,
 *   city: "New York",
 *   company: "Company Name",
 *   country: "USA",
 *   fullName: "John Doe",
 *   label: "Primary Address",
 *   phone: "+123456789",
 *   shipping: true,
 *   state: "NY",
 *   zipcode: "10001"
 * });
 *
 * console.log(response);
 * ```
 */
export declare function updateCustomerAccountOrganisationAddress(params: UpdateCustomerAccountOrganisationAddressParameters & DjustConfig): Promise<UpdateCustomerAccountOrganisationAddressResponse>;
/**
 * ## Get orders from a customer account organisation
 *
 * This function retrieves the orders associated with a specific customer account organisation.
 *
 * ### API Code: ORDER-555
 *
 * ### **Endpoint**: `GET /v1/shop/customer-accounts/organisations/{organisationId}/orders`
 *
 * | **Parameter**        | **Type**   | **Required** | **Description**                                                           |
 * |----------------------|------------|--------------|---------------------------------------------------------------------------|
 * | `organisationId`     | `string`   | ✅           | The unique identifier of the organisation whose orders need to be fetched. |
 * | `pageable`           | `object`   | ✅           | The pagination parameters for the orders (e.g., page, size, sort).        |
 * | `locale`             | `string`   | ✅           | The locale for the response (e.g., "en_US").                              |
 *
 * ### **Returns**:
 * A `Promise<GetCustomerAccountOrganisationOrdersResponse>` containing the list of orders for the organisation.
 *
 * ### **Example Usage**:
 * ```typescript
 * const response = await getCustomerAccountOrganisationOrders({
 *   organisationId: "org12345",
 *   pageable: { page: 1, size: 10, sort: [{ property: "createdAt", direction: "DESC" }] },
 *   locale: "en_US"
 * });
 *
 * console.log(response);
 * ```
 */
export declare function getCustomerAccountOrganisationOrders(params: GetCustomerAccountOrganisationOrdersParameters & DjustConfig): Promise<GetCustomerAccountOrganisationOrdersResponse>;
/**
 * ## Get users from a customer account organisation
 *
 * This function retrieves the list of users associated with a specific customer account organisation.
 *
 * ### API Code: ACCOUNT-504
 *
 * ### **Endpoint**: `GET /v1/shop/customer-accounts/organisations/{organisationId}/users`
 *
 * | **Parameter**        | **Type**   | **Required** | **Description**                                                           |
 * |----------------------|------------|--------------|---------------------------------------------------------------------------|
 * | `organisationId`     | `string`   | ✅           | The unique identifier of the organisation whose users need to be fetched. |
 * | `pageable`           | `object`   | ✅           | The pagination parameters for the users (e.g., page, size, sort).        |
 *
 * ### **Returns**:
 * A `Promise<GetCustomerAccountOrganisationUsersResponse>` containing the list of users for the organisation.
 *
 * ### **Example Usage**:
 * ```typescript
 * const response = await getCustomerAccountOrganisationUsers({
 *   organisationId: "org12345",
 *   pageable: { page: 1, size: 10, sort: [{ property: "createdAt", direction: "DESC" }] },
 * });
 *
 * console.log(response);
 * ```
 */
export declare function getCustomerAccountOrganisationUsers(params: GetCustomerAccountOrganisationUsersParameters & DjustConfig): Promise<GetCustomerAccountOrganisationUsersResponse>;
/**
 * ## Update a customer account organisation user
 *
 * This function updates the details of a specific user within a customer account organisation.
 *
 * ### API Code: ACCOUNT-202
 *
 * ### **Endpoint**: `PUT /v1/shop/customer-accounts/organisations/{organisationId}/users/{customerUserId}`
 *
 * | **Parameter**           | **Type**    | **Required** | **Description**                                                                 |
 * |-------------------------|-------------|--------------|---------------------------------------------------------------------------------|
 * | `organisationId`        | `string`    | ✅           | The unique identifier of the organisation.                                     |
 * | `customerUserId`        | `string`    | ✅           | The unique identifier of the user to update.                                   |
 * | `civility`              | `string`    | ❌           | Civility of the user (e.g., "MR", "MRS").                                      |
 * | `customFieldValues`     | `object[]`  | ❌           | Array of custom field values for the user.                                     |
 * | `firstName`             | `string`    | ❌           | First name of the user.                                                        |
 * | `lastName`              | `string`    | ❌           | Last name of the user.                                                         |
 * | `phone`                 | `string`    | ❌           | Phone number of the user.                                                      |
 *
 * ### **Returns**:
 * A `Promise<UpdateCustomerAccountOrganisationUserResponse>` containing the details of the updated user.
 *
 * ### **Example Usage**:
 * ```typescript
 * const response = await updateCustomerAccountOrganisationUser({
 *   organisationId: "org12345",
 *   customerUserId: "user67890",
 *   civility: "MR",
 *   customFieldValues: [
 *     {
 *       customFieldId: "custom123",
 *       customFieldValue: "value123"
 *     }
 *   ],
 *   firstName: "John",
 *   lastName: "Doe",
 *   phone: "+1234567890"
 * });
 *
 * console.log(response);
 * ```
 */
export declare function updateCustomerAccountOrganisationUser(params: UpdateCustomerAccountOrganisationUserParameters & DjustConfig): Promise<UpdateCustomerAccountOrganisationUserResponse>;
//# sourceMappingURL=index.d.ts.map