/**
 * Batched style scheduler that collects all `getComputedStyle` calls within a single frame and
 * executes them together using `requestAnimationFrame`. This reduces layout thrashing by batching
 * all style reads into a single reflow.
 *
 * @example
 *
 * ```ts
 * // Instead of calling window.getComputedStyle directly:
 * const style = window.getComputedStyle(element)
 * const value = style.getPropertyValue('--my-prop')
 *
 * // Use the scheduler to batch with other reads:
 * const style = await styleScheduler.getComputedStyle(element)
 * const value = style.getPropertyValue('--my-prop')
 *
 * // Or schedule a custom read operation:
 * styleScheduler.scheduleRead(() => {
 *   const style = window.getComputedStyle(element)
 *   doSomethingWith(style)
 * })
 * ```
 */
type StyleReadCallback = () => void;
declare class StyleScheduler {
    private rafId;
    private pendingReads;
    /**
     * Schedule a style read operation to be executed in the next animation frame. All reads scheduled
     * within the same frame will be batched together and executed synchronously in a single batch.
     */
    scheduleRead(callback: StyleReadCallback): void;
    /**
     * Get computed style for an element in a batched manner. Returns a promise that resolves with the
     * computed style once all batched reads are executed.
     */
    getComputedStyle(element: Element): Promise<CSSStyleDeclaration>;
}
export declare const styleScheduler: StyleScheduler;
export {};
//# sourceMappingURL=styleScheduler.d.ts.map