/** * Logs message to the console if the `console` object is exposed. * * @param {...*} args Values which will be logged. */ export declare function log(...args: unknown[]): void; /** * Logs warn to the console if the `console` object is exposed. * * @param {...*} args Values which will be logged. */ export declare function warn(...args: unknown[]): void; /** * Logs a warning to the console only once per `scope` and `key` pair. * * Pass a stable per-instance object (for example, `hot.rootElement`) as the * `scope` so each Handsontable instance warns at most once for a given `key`. * Reuse the same `key` across unrelated modules to collapse their warnings into * a single message per instance. * * @param {object} scope The object the "warn once" state is bound to (for example, the grid root element). * @param {string} key A stable identifier for the warning category. * @param {...*} args Values which will be logged. */ export declare function warnOnce(scope: object, key: string, ...args: unknown[]): void; /** * Logs a deprecation warning to the console only once per `key` if the `console` * object is exposed. Use it for every deprecated public API so the warning does * not flood the console on repeated calls. * * @param {string} key A stable identifier of the deprecated API (for example, the method name). * @param {string} message The message to log. */ export declare function deprecatedWarnOnce(key: string, message: string): void; /** * Logs a removal warning to the console only once per `key` if the `console` object is exposed. * Use it when a caller configures an API that no longer exists. Unlike `deprecatedWarnOnce`, the * message carries no `Deprecated:` prefix: a removed API is not deprecated, it is gone, and the * message itself has to say so (the same way the removed-hook warning in `core/hooks` does). * * @param {string} key A stable identifier of the removed API (for example, the option name). * @param {string} message The message to log. */ export declare function removedWarnOnce(key: string, message: string): void; /** * Clears the record of already-printed deprecation and removal warnings. * * Test-only. `printedDeprecations` is module-global and never reset in production, so without this * every spec that asserts on one of these warnings would depend on the order the specs run in. * * @private */ export declare function _resetDeprecationWarnings(): void; /** * Logs info to the console if the `console` object is exposed. * * @param {...*} args Values which will be logged. */ export declare function info(...args: unknown[]): void; /** * Logs error to the console if the `console` object is exposed. * * @param {...*} args Values which will be logged. */ export declare function error(...args: unknown[]): void; export interface LogAggregatedItemsOptions { logFunction?: (...args: unknown[]) => void; message?: string; items?: unknown[]; maxSample?: number; itemFormatter?: (item: unknown) => string; } /** * Logs an aggregated log message with a sample list of items. * * @param {object} options Log options. * @param {Function} [options.logFunction] Function to log the message. * @param {string} options.message Message template. * @param {Array} options.items List of items to aggregate. * @param {number} [options.maxSample=5] Maximum number of items to list. * @param {Function} [options.itemFormatter] Formatter for each item. */ export declare function logAggregatedItems({ logFunction, message, items, maxSample, itemFormatter, }?: LogAggregatedItemsOptions): void;