import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient";
import { type NormalizedClientOptions } from "../../../../../../BaseClient";
import * as core from "../../../../../../core";
import * as ElevenLabs from "../../../../../index";
export declare namespace RulesClient {
    type Options = BaseClientOptions;
    interface RequestOptions extends BaseRequestOptions {
    }
}
export declare class RulesClient {
    protected readonly _options: NormalizedClientOptions<RulesClient.Options>;
    constructor(options?: RulesClient.Options);
    /**
     * Add rules to the pronunciation dictionary. If a rule with the same string_to_replace already exists, it will be replaced.
     *
     * @param {string} pronunciation_dictionary_id - The id of the pronunciation dictionary
     * @param {ElevenLabs.pronunciationDictionaries.PronunciationDictionary} request
     * @param {RulesClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link ElevenLabs.UnprocessableEntityError}
     *
     * @example
     *     await client.pronunciationDictionaries.rules.add("21m00Tcm4TlvDq8ikWAM", {
     *         rules: [{
     *                 type: "alias",
     *                 stringToReplace: "Thailand",
     *                 alias: "tie-land"
     *             }]
     *     })
     */
    add(pronunciation_dictionary_id: string, request: ElevenLabs.pronunciationDictionaries.PronunciationDictionary, requestOptions?: RulesClient.RequestOptions): core.HttpResponsePromise<ElevenLabs.PronunciationDictionaryRulesResponseModel>;
    private __add;
    /**
     * Remove rules from the pronunciation dictionary
     *
     * @param {string} pronunciation_dictionary_id - The id of the pronunciation dictionary
     * @param {ElevenLabs.pronunciationDictionaries.RemovePronunciationDictionaryRulesRequest} request
     * @param {RulesClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link ElevenLabs.UnprocessableEntityError}
     *
     * @example
     *     await client.pronunciationDictionaries.rules.remove("21m00Tcm4TlvDq8ikWAM", {
     *         ruleStrings: ["rule_strings"]
     *     })
     */
    remove(pronunciation_dictionary_id: string, request: ElevenLabs.pronunciationDictionaries.RemovePronunciationDictionaryRulesRequest, requestOptions?: RulesClient.RequestOptions): core.HttpResponsePromise<ElevenLabs.PronunciationDictionaryRulesResponseModel>;
    private __remove;
}
