import type { InteractiveProbeRecord } from './schema'; import type { ProbeHostFacts } from './record'; import type { ProbePageConfig } from './payload'; /** `craft version 0.0.105` (the first line of `craft --version`) to `0.0.105`. */ export declare function parseCraftVersion(output: string | null): string | null; /** * The main display from `system_profiler SPDisplaysDataType -json`, without * the serial number and vendor identifiers it also reports. */ export declare function mainDisplayFromProfiler(json: string | null): DisplayFacts | null; /** Everything about the host the page cannot see. */ export declare function collectHostFacts(mode: 'craft' | 'browser', craftVersion: string | null, userAgent: string): ProbeHostFacts; /** Serve the page, run it, and return the validated record. */ export declare function runProbe(options: ProbeRunOptions): Promise; /** A plain-text summary, one line per probe. */ export declare function summarize(record: InteractiveProbeRecord): string; export declare function run(): Promise; export declare interface ProbeRunOptions { mode: 'craft' | 'browser' craftBin?: string open?: boolean | string page?: Partial timeoutMs?: number port?: number log?: (line: string) => void } declare interface DisplayFacts { name: string, resolution: string, refreshHz: number | null }