import { PdfPageRenderResult, PdfRenderContext, PdfRenderer, PdfRenderPageOptions } from './types'; export interface WebGpuRendererOptions { readonly clear?: boolean; readonly background?: readonly [number, number, number, number]; readonly fallbackOnUnsupported?: boolean; /** Rasterize glyph atlas at a higher scale before sampling it on the GPU. */ readonly textOversample?: number; readonly glyphAtlasSize?: number; readonly pageCacheSize?: number; } export interface WebGpuRenderResult extends PdfPageRenderResult { readonly ops: number; readonly drawCalls: number; readonly glyphs: number; readonly paths: number; readonly images: number; readonly unsupportedOps: number; readonly unsupportedReasons: readonly string[]; readonly cacheHit: boolean; readonly timings: WebGpuRenderTimings; } export interface WebGpuRenderTimings { readonly totalMs: number; readonly deviceMs: number; readonly pendingMs: number; readonly displayListMs: number; readonly fontMs: number; readonly buildMs: number; readonly replayMs: number; readonly textMs: number; readonly pathMs: number; readonly imageMs: number; readonly unsupportedMs: number; readonly finishMs: number; readonly uploadMs: number; readonly renderMs: number; } export interface WebGpuPrewarmResult { readonly pageIndex: number; readonly cacheHit: boolean; readonly prepared: boolean; readonly timings: Omit; } export declare class WebGpuUnsupportedError extends Error { readonly unsupportedOps: number; readonly unsupportedReasons: readonly string[]; constructor(message: string, unsupportedOps: number, unsupportedReasons: readonly string[]); } export declare class WebGpuRenderer implements PdfRenderer { private readonly options; readonly id = "webgpu"; readonly platform = "webgpu"; private devicePromise; private readonly pipelines; private readonly registeredFontIds; private readonly glyphAtlas; private readonly pageCache; private readonly pendingPageBuilds; private readonly textureCache; private readonly documentIds; private nextDocumentId; constructor(options?: WebGpuRendererOptions); renderPage(context: PdfRenderContext, target: HTMLCanvasElement, options: PdfRenderPageOptions): Promise; prewarmPage(context: PdfRenderContext, options: PdfRenderPageOptions): Promise; destroy(): void; private getDeviceBundle; private registerDisplayListFonts; private getOrBuildPage; private buildPage; private emptyBuildTimings; private pageCacheKey; private documentId; private getCachedPage; private setCachedPage; } export declare const createWebGpuRenderer: (options?: WebGpuRendererOptions) => WebGpuRenderer; //# sourceMappingURL=webgpu.d.ts.map