import { NonNil } from './types'; declare const NillablErrorSymbol: unique symbol; export declare class NillableError extends Error { constructor(message?: NonNil); private get [NillablErrorSymbol](); } export declare const objects: { isNilError: (error: Error) => boolean; isNil: (value: T) => boolean; isNotNil: (value: T_1) => boolean; /** * Helper function to validate required fields with a requireNonNil error. * @param values An object containing field names and their corresponding values. * @param errorMessageTemplate A function to generate error messages dynamically. */ validateFields: >(values: T_2, errorMessageTemplate: (fieldName: keyof T_2) => string) => { [K in keyof T_2]: NonNil; }; requireNonNil: (value: T_3, message?: string | ((v: T_3) => Error) | undefined) => NonNil; requireNonNilNumber: (value: T_4, message?: string | ((v: T_4) => Error) | undefined) => NonNil; requireMaxLength: (value: T_5, maxLength: number, message?: string | ((v: T_5) => Error) | undefined) => NonNil; /** * Validates that optional parameters, if provided, are not null. * * @param options - The options object containing the parameters to validate. * @param fields - An array of field names to validate. * @throws Error if any field is explicitly provided but null. */ validateOptionalFields(options: T_6, fields: (keyof T_6)[]): void; /** * Validates required parameters for the class or function, are not null or undefined. * * @param options - The options object containing the parameters to validate. * @param fields - An array of field names to validate. * @throws Error if any field is explicitly provided but null. */ validateRequiredFields(options: T_7, fields: (keyof T_7)[]): T_7; }; export {};