import { QuerySet, QuerySetProps } from '@luma.gl/core'; import { WebGLDevice } from "../webgl-device.js"; type WebGLPendingQuery = { handle: WebGLQuery; promise: Promise | null; result: bigint | null; disjoint: boolean; cancelled: boolean; pollRequestId: number | null; resolve: ((value: bigint) => void) | null; reject: ((error: Error) => void) | null; }; type WebGLTimestampPair = { activeQuery: WebGLPendingQuery | null; completedQueries: WebGLPendingQuery[]; }; /** * Asynchronous queries for different kinds of information */ export declare class WEBGLQuerySet extends QuerySet { readonly device: WebGLDevice; readonly handle: WebGLQuery | null; protected _timestampPairs: WebGLTimestampPair[]; protected _pendingReads: Set; protected _occlusionQuery: WebGLPendingQuery | null; protected _occlusionActive: boolean; get [Symbol.toStringTag](): string; constructor(device: WebGLDevice, props: QuerySetProps); destroy(): void; isResultAvailable(queryIndex?: number): boolean; readResults(options?: { firstQuery?: number; queryCount?: number; }): Promise; readTimestampDuration(beginIndex: number, endIndex: number): Promise; beginOcclusionQuery(): void; endOcclusionQuery(): void; writeTimestamp(queryIndex: number): void; protected _validateRange(firstQuery: number, queryCount: number): void; protected _getTimestampPairIndex(queryIndex: number): number; protected _isTimestampPairAvailable(pairIndex: number): boolean; protected _pollQueryAvailability(query: WebGLPendingQuery): boolean; protected _consumeTimestampPairResult(pairIndex: number): Promise; protected _consumeQueryResult(query: WebGLPendingQuery): Promise; protected _cancelPendingQuery(query: WebGLPendingQuery): void; protected _requestAnimationFrame(callback: FrameRequestCallback): number; protected _cancelAnimationFrame(requestId: number): void; } export {}; //# sourceMappingURL=webgl-query-set.d.ts.map