export declare const DEFAULT_PROBE_PAGE_CONFIG: ProbePageConfig; /** * What the probe page posts back to its runner (stacksjs/stacks#877). * * Raw observations only. The page does no statistics and makes no judgement: * `buildProbeRecord` in `record.ts` turns this into a published record, which is * where the arithmetic and the status rules live and are unit-tested. */ /** Configuration the runner embeds in the page. */ export declare interface ProbePageConfig { idleMs: number loadMs: number cpuLoadMsPerFrame: number instances: number interactionWindowMs: number tryNativeFullscreen: boolean } /** The result of asking for fullscreen or pointer lock. */ export declare interface RequestOutcome { outcome: 'entered' | 'rejected' | 'no-api' | 'timeout' | 'not-attempted' detail?: string } /** One input event, timed to the frame that could first show it. */ export declare interface InputSample { toFrameMs: number toPostFrameMs: number } export declare interface AudioSnapshot { state: string baseLatency: number | null outputLatency: number | null sampleRate: number } export declare interface ProbePagePayload { config: ProbePageConfig userAgent: string devicePixelRatio: number screen: { width: number, height: number } isSecureContext: boolean timerResolutionMs: number eventTimeStampComparable: boolean bridge: { present: boolean, setFullscreen: boolean } webgl2: { ok: boolean error?: string version?: string shadingLanguageVersion?: string vendor?: string renderer?: string unmaskedVendor?: string unmaskedRenderer?: string maxTextureSize?: number maxSamples?: number extensions?: number } webgpu: { present: boolean adapter: boolean device: boolean error?: string vendor?: string architecture?: string description?: string maxTextureDimension2D?: number features?: number } frames: { idle: number[] load: number[] triangles: number hiddenDuringSampling: boolean focused: boolean } input: { pointerdown: InputSample[] pointermove: InputSample[] keydown: InputSample[] eventTimingSupported: boolean eventTimingDurations: number[] } audio: { present: boolean error?: string initial?: AudioSnapshot afterUngesturedResume?: AudioSnapshot afterGesturedResume?: AudioSnapshot } gamepad: { present: boolean connected: number ids: string[] connectedEventSeen: boolean } fullscreen: { elementApi: boolean webkitElementApi: boolean enabled: boolean | null ungestured: RequestOutcome gestured: RequestOutcome nativeBridge: RequestOutcome & { sizeBefore?: string, sizeAfter?: string } } pointerLock: { api: boolean ungestured: RequestOutcome gestured: RequestOutcome } interaction: { windowMs: number sawRealInput: boolean skipped: boolean } errors: string[] }