/**
 * Polyfill for Number.isFinite - properly checks if a value is a finite number
 * without type coercion.
 *
 * @param value - The value to check
 * @returns true if the value is a finite number, false otherwise
 */
export declare function isFiniteNumber(value: unknown): value is number;
/**
 * Check if the value is a number or can be converted to a number.
 *
 * @param value - The value to check.
 * @returns `true` if the value is a number or can be converted to a number, otherwise `false`.
 *
 * @example
 * ```ts
 * isNumber(123);        // true
 * isNumber('123');      // true
 * isNumber(' 123 ');    // true
 * isNumber('0xff');     // true
 * isNumber('-1.1');     // true
 * isNumber('');         // false
 * isNumber('  ');       // false
 * isNumber(' 123a ');   // false
 * isNumber(NaN);        // false
 * isNumber(Infinity);   // false
 * isNumber({});         // false
 * isNumber([]);         // false
 * isNumber(null);       // false
 * isNumber(undefined);  // false
 * ```
 */
export declare function isNumber(value: unknown): boolean;
/**
 * Convert a value to a number if possible.
 *
 * @param value - The value to convert.
 * @returns The converted number if valid, otherwise `null`.
 *
 * @example
 * ```ts
 * toNumber(123);        // 123
 * toNumber('123');      // 123
 * toNumber(' 123 ');    // 123
 * toNumber('0xff');     // 255
 * toNumber('-1.1');     // -1.1
 * toNumber('');         // null
 * toNumber('  ');       // null
 * toNumber('123a');     // null
 * toNumber(NaN);        // null
 * toNumber(Infinity);   // null
 * toNumber({});         // null
 * toNumber([]);         // null
 * toNumber(null);       // null
 * toNumber(undefined);  // null
 * ```
 */
export declare function toNumber(value: unknown): number | null;
//# sourceMappingURL=main.d.ts.map