import '../../../../assert/js/assert.js';
import '../../../../globals.js';
/**
 * Assists in logging out timestamps for WebGPU profiling.
 *
 * @author Jonathan Olson <jonathan.olson@colorado.edu>
 */
import { BufferLogger, DeviceContext } from '../../imports.js';
export default class TimestampLogger {
    private readonly deviceContext;
    private readonly capacity;
    private readonly querySet;
    private readonly queryBuffer;
    private index;
    private timestampNames;
    constructor(deviceContext: DeviceContext | null, capacity: number);
    getGPUComputePassTimestampWrites(name: string): GPUComputePassTimestampWrites | null;
    resolve(encoder: GPUCommandEncoder, bufferLogger: BufferLogger): Promise<TimestampLoggerResult | null>;
    dispose(): void;
}
export declare class TimestampLoggerResult {
    readonly timestamps: number[];
    readonly timestampNames: string[];
    readonly deltas: number[];
    constructor(timestamps: number[], timestampNames: string[]);
    toString(): string;
    static averageTimestamps(results: TimestampLoggerResult[]): TimestampLoggerResult;
}
//# sourceMappingURL=TimestampLogger.d.ts.map