export interface GhApiRequest { endpoint: string; jq: string; } export type GhApiExecutor = (request: GhApiRequest) => Promise; export interface WorkflowRecord { id: number; name: string; state: string; } export interface RunRecord { id: number; name: string; event: string; conclusion: string; createdAt: string; url: string; headBranch: string | null; pullRequestBaseBranches: string[]; } export interface RuntimeSample { runId: number; runUrl: string; jobId: number; jobUrl: string; startedAt: string; completedAt: string; durationSeconds: number; } export type RuntimeViolationReason = 'sample-at-or-above-hard-ceiling' | 'five-sample-median-above-threshold'; export interface RuntimeJobResult { key: string; workflow: string; job: string; sampleCount: number; medianSeconds: number | null; maximumSeconds: number; reasons: RuntimeViolationReason[]; samples: RuntimeSample[]; } export interface RuntimeAuditResult { scope: { repository: string; sampleLimit: number; recentCompletedRunHorizon: number; medianThresholdSeconds: number; hardCeilingSeconds: number; branch: string; }; jobs: RuntimeJobResult[]; violations: RuntimeJobResult[]; } export declare function parseObject(value: unknown, detail: string): Record; export declare function parseArray(value: unknown, detail: string): unknown[]; export declare function parseRun(value: unknown): RunRecord; export declare function parseWorkflow(value: unknown): WorkflowRecord; export declare function parseSample(value: unknown, run: RunRecord): { name: string; sample: RuntimeSample; } | null;