/** * (C) Copyright IBM Corp. 2026. * * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except * in compliance with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software distributed under the License * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express * or implied. See the License for the specific language governing permissions and limitations under * the License. */ /** * Validates parameters including common parameters (signal, headers). This is a wrapper around * validateParams that automatically includes common parameters. * * @param {Record} params - Object containing parameters to validate. * @param {string[] | null} requiredParams - Array of required parameter names, or null if no * required params. * @param {string[] | null} validParams - Array of valid parameter names (common params will be * added automatically), or null if no valid params. * @throws {Error} Throws Error object if validation fails, void otherwise. */ export declare const validateRequestParams: (params: Record, requiredParams: string[] | null, validParams: string[] | null) => void; /** * Validates that exactly one (or optionally none) of the specified parameters is provided. * * This function enforces mutual exclusivity among a set of parameters, ensuring that only one * parameter from the list is present at a time. This is useful for API methods that accept * alternative parameters but not multiple simultaneously (e.g., projectId OR spaceId). * * @example * // Ensures exactly one of projectId or spaceId is provided * validateRequiredOneOf(params, ['projectId', 'spaceId'], true); * * @example * // Allows zero or one of the parameters (but not both) * validateRequiredOneOf(params, ['projectId', 'spaceId'], false); * * @param {Record} [params={}] - Object containing optional parameters to validate for * mutual exclusivity. Default is `{}` * @param {string[]} requiredParams - Array of parameter names to check for mutual exclusivity * @param {boolean} [isAnyRequired=true] - If true, at least one parameter must be provided. If * false, all parameters can be absent (useful for optional alternative parameters). Default is * `true` * @throws {Error} If more than one of the specified parameters is provided * @throws {Error} If isAnyRequired is true and none of the specified parameters is provided * @note When isAnyRequired=false and all parameters are absent, the function returns * without error (allows zero parameters). */ export declare const validateRequiredOneOf: (params: Record | undefined, requiredParams: string[], isAnyRequired?: boolean) => void; //# sourceMappingURL=validators.d.ts.map