import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient.js"; import { type NormalizedClientOptionsWithAuth } from "../../../../BaseClient.js"; import * as core from "../../../../core/index.js"; import * as Rulebricks from "../../../index.js"; export declare namespace ValuesClient { type Options = BaseClientOptions; interface RequestOptions extends BaseRequestOptions { } } /** * Operations for managing dynamic values referenced in rules */ export declare class ValuesClient { protected readonly _options: NormalizedClientOptionsWithAuth; constructor(options: ValuesClient.Options); /** * Retrieve all dynamic values for the authenticated user. Use the 'include' parameter to control whether usage information is returned. * * @param {Rulebricks.ListValuesRequest} request * @param {ValuesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Rulebricks.NotFoundError} * @throws {@link Rulebricks.InternalServerError} * * @example * await client.values.list({ * include: "usage" * }) */ list(request?: Rulebricks.ListValuesRequest, requestOptions?: ValuesClient.RequestOptions): core.HttpResponsePromise; private __list; /** * Update existing dynamic values or add new ones for the authenticated user. Supports both flat and nested object structures. Nested objects are automatically flattened using dot notation and keys are converted to readable format (e.g., 'user_name' becomes 'User Name', nested 'user.contact_info.email' becomes 'User.Contact Info.Email'). * * @param {Rulebricks.UpdateValuesRequest} request * @param {ValuesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Rulebricks.BadRequestError} * @throws {@link Rulebricks.ForbiddenError} * @throws {@link Rulebricks.InternalServerError} * * @example * await client.values.update({ * values: { * "Favorite Color": "blue", * "Age": 30, * "Is Student": false, * "Hobbies": [ * "reading", * "cycling" * ] * }, * user_groups: ["marketing", "developers"] * }) * * @example * await client.values.update({ * values: { * "user_profile": { * "first_name": "Alice", * "last_name": "Johnson", * "contact_info": { * "email_address": "alice@example.com", * "phone_number": "555-0123" * } * }, * "account_settings": { * "is_premium_user": true, * "subscription_tier": "gold", * "preferences": [ * "email_notifications", * "sms_alerts" * ] * }, * "account_balance": 1250.75 * }, * user_groups: ["marketing", "developers"] * }) * * @example * await client.values.update({ * values: { * "Company Name": "Acme Corp", * "company_details": { * "founded_year": 2020, * "employee_count": 150, * "headquarters": { * "city": "San Francisco", * "state": "CA", * "country": "USA" * } * }, * "Is Public": false, * "tags": [ * "tech", * "startup", * "saas" * ] * }, * user_groups: ["marketing"] * }) */ update(request: Rulebricks.UpdateValuesRequest, requestOptions?: ValuesClient.RequestOptions): core.HttpResponsePromise; private __update; /** * Delete a specific dynamic value for the authenticated user by its ID. * * @param {Rulebricks.DeleteValuesRequest} request * @param {ValuesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Rulebricks.BadRequestError} * @throws {@link Rulebricks.NotFoundError} * @throws {@link Rulebricks.InternalServerError} * * @example * await client.values.delete({ * id: "id" * }) */ delete(request: Rulebricks.DeleteValuesRequest, requestOptions?: ValuesClient.RequestOptions): core.HttpResponsePromise; private __delete; }