///
import type { TWebGPUDevice } from "../types/TWebGPUDevice";
/**
* Whether an adapter is an Apple GPU, the gate for auto renderer mode.
*
* Chrome reports vendor "apple" / architecture "metal-3" on Apple Silicon and leaves `device` and
* `description` empty, so vendor is the only reliable field; architecture is a secondary signal for
* browsers that mask vendor for privacy. Unknown reads as not-Apple, i.e. WebGL.
*/
export declare const isAppleGpuAdapter: (info: GPUAdapterInfo | undefined) => boolean;
/**
* The device features to pass to `requestDevice`, given what the adapter offers.
*
* Only features the adapter reports are returned: requesting an absent one makes `requestDevice()` REJECT,
* which would turn a missing optional feature into a chart that does not render at all.
* `timestamp-query` is included only while {@link SciChartDefaults.enableGpuTimers} is true, because with
* it on the device the engine resolves a timestamp query set every frame, and on Apple GPUs that resolve
* serialises the GPU (measured +7% per frame on a 1500-series chart, up to a whole frame under load).
*
* Exported for the unit tests only, not part of the public API.
* @ignore
*/
export declare const selectWebGpuDeviceFeatures: (adapterFeatures: {
has(name: string): boolean;
}) => GPUFeatureName[];
export declare const WebGpuHelper: {
initializeWebGPUDevice: () => Promise;
getCachedWebGPUDevice: () => TWebGPUDevice | undefined;
getWebGpuSupported: () => boolean;
setWebGpuSupported: (value: boolean) => void;
};