/** * Represents an optional filter that may be provided as either a single value * or multiple values. Normalizes all inputs into a deduplicated array for * consistent downstream query usage. * * This abstraction separates filter presence from stored values, allowing * consumers to detect whether filtering logic should be applied at all. */ export declare class OptionalFilter { private readonly singleValue; private readonly multipleValues; /** * Internal storage for deduplicated filter values. */ private readonly valueSet; /** * Creates an optional filter from either a single value or an array of values. * * @param singleValue - Optional single filter value. * @param multipleValues - Optional array of filter values. */ constructor(singleValue: T | undefined, multipleValues: T[] | undefined); /** * Whether this filter was explicitly provided by the caller. * * True if at least one value was supplied, even if the array is empty. */ get isActive(): boolean; /** * Returns all deduplicated filter values as an array. * * Downstream logic can use this to build queries without worrying about * whether the original input was a single value or multiple values. */ get values(): T[]; /** * Checks whether a specific value is included in this filter. * * @param value - The value to test for inclusion. * @returns True if the value is present in the filter. */ contains(value: T): boolean; }