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 RulesClient { type Options = BaseClientOptions; interface RequestOptions extends BaseRequestOptions { } } /** * Operations for efficiently executing individual rules in different formats */ export declare class RulesClient { protected readonly _options: NormalizedClientOptionsWithAuth; constructor(options: RulesClient.Options); /** * Executes a single rule identified by a unique slug. The request and response formats are dynamic, dependent on the rule configuration. * * @param {Rulebricks.SolveRulesRequest} request * @param {RulesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Rulebricks.BadRequestError} * @throws {@link Rulebricks.InternalServerError} * * @example * await client.rules.solve({ * slug: "slug", * body: { * "name": "John Doe", * "age": 30, * "email": "jdoe@acme.co" * } * }) */ solve(request: Rulebricks.SolveRulesRequest, requestOptions?: RulesClient.RequestOptions): core.HttpResponsePromise; private __solve; /** * Executes a particular rule against multiple request data payloads provided in a list. * * @param {Rulebricks.BulkSolveRulesRequest} request * @param {RulesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Rulebricks.BadRequestError} * @throws {@link Rulebricks.InternalServerError} * * @example * await client.rules.bulkSolve({ * slug: "slug", * body: [{ * "name": "John Doe", * "age": 30, * "email": "jdoe@acme.co" * }, { * "name": "Jane Doe", * "age": 28, * "email": "jane@example.com" * }] * }) */ bulkSolve(request: Rulebricks.BulkSolveRulesRequest, requestOptions?: RulesClient.RequestOptions): core.HttpResponsePromise; private __bulkSolve; /** * Executes multiple rules or flows in parallel based on a provided mapping of rule/flow slugs to payloads. * * @param {Rulebricks.ParallelSolveRequest} request * @param {RulesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Rulebricks.BadRequestError} * @throws {@link Rulebricks.InternalServerError} * * @example * await client.rules.parallelSolve({ * "eligibility": { * $rule: "1ef03ms", * name: "John Doe", * age: 30, * email: "jdoe@acme.co" * }, * "offers": { * $flow: "OvmsYwn", * customer_id: "12345", * last_purchase_days_ago: 30, * selected_plan: "premium" * } * }) */ parallelSolve(request: Rulebricks.ParallelSolveRequest, requestOptions?: RulesClient.RequestOptions): core.HttpResponsePromise; private __parallelSolve; }