/** * Check if a value is a Date instance * @param {*} value The value to check. * @returns {value is Date} True if value is a Date, false otherwise. */ export declare function isDate(value: any): value is Date; /** * Check if a value is iterable. * @param {*} value The value to check. * @returns {value is Iterable} True if value is iterable, false otherwise. */ export declare function isIterable(value: any): value is Iterable; /** * Return the input value if it passes a test. * Otherwise throw an error using the given message generator. * @template T * @param {T} value The value to check. * @param {(value: T) => boolean} test The test function. * @param {(value: *) => string} message Message generator. * @returns {T} The input value. * @throws if the value does not pass the test */ export declare function check(value: T, test: (value: T) => boolean, message: (value: any) => string): T; /** * Return the input value if it exists in the provided set. * Otherwise throw an error using the given message generator. * @template T * @param {T} value The value to check. * @param {T[] | Record} set The set of valid values. * @param {(value: *) => string} [message] Message generator. * @returns {T} The input value. * @throws if the value is not included in the set */ export declare function checkOneOf(value: T, set: T[] | Record, message?: (value: any) => string): T; /** * Return the first object key that pairs with the given value. * @param {Record} object The object to search. * @param {any} value The value to lookup. * @returns {string} The first matching key, or '' if not found. */ export declare function keyFor(object: Record, value: any): string;