/**
 * Type for the callback handle returned by scheduleIdleCallback.
 * Can be either a number (from requestIdleCallback) or a NodeJS.Timeout (from setTimeout).
 */
export type IdleCallbackHandle = number | NodeJS.Timeout;
/**
 * Safely schedules a callback to be executed when the browser is idle.
 * Falls back to setTimeout if requestIdleCallback is not available.
 *
 * @param callback - The function to execute during idle time
 * @param options - Optional configuration (timeout in ms)
 * @returns A handle that can be passed to cancelScheduledCallback
 *
 * @example
 * ```typescript
 * const handle = scheduleIdleCallback(() => {
 *   console.log('Running during idle time');
 * });
 *
 * // Later, if needed:
 * cancelScheduledCallback(handle);
 * ```
 */
export declare function scheduleIdleCallback(callback: IdleRequestCallback, options?: IdleRequestOptions): IdleCallbackHandle;
/**
 * Cancels a callback scheduled with scheduleIdleCallback.
 * Works with both requestIdleCallback and setTimeout fallback.
 *
 * @param handle - The handle returned by scheduleIdleCallback
 *
 * @example
 * ```typescript
 * const handle = scheduleIdleCallback(() => {
 *   console.log('This might not run');
 * });
 *
 * cancelScheduledCallback(handle);
 * ```
 */
export declare function cancelScheduledCallback(handle: IdleCallbackHandle): void;
//# sourceMappingURL=idleCallbackHelpers.d.ts.map