import { type CertEntry, type GpuInfo } from "./base.js"; /** First integer anywhere in `stdout` (handles trailing newlines/whitespace). */ export declare function parseFirstInt(stdout: string): number | undefined; /** Parse `nvidia-smi --query-gpu=memory.total,name --format=csv,noheader,nounits`. */ export declare function parseNvidiaSmi(stdout: string): GpuInfo; /** Parse tab-separated `base64subject` lines (Windows cert export). */ export declare function parseCertLines(stdout: string): CertEntry[]; /** * Extract PEM certificate blocks from `security`/openssl `-p` style output. * * A linear `indexOf` walk rather than `/BEGIN[\s\S]*?END/g`: that lazy match * between two literal anchors is a polynomial-ReDoS footgun (CodeQL * `js/polynomial-redos`) — on output with many `BEGIN` markers and no closing * `END`, the engine rescans to end from every `BEGIN`, O(n²). The walk finds * each `BEGIN` then its nearest following `END` (the same blocks the lazy regex * matched, in order) with non-overlapping O(n) scans. */ export declare function parsePemBlocks(stdout: string, subject?: string): CertEntry[];