import type { Element } from "../../tui/elements.js"; import type { KeyEvent } from "../../tui/input/types.js"; import { type TableColumn } from "../../tui/table.js"; import type { LoaderProgress } from "../loader.js"; import type { RunRow } from "../rows.js"; import type { ExplorerAction, ExplorerView, Viewport } from "./explorerView.js"; export declare class RunsTableView implements ExplorerView { readonly viewName: "runs"; private rows; private state; private scrollTop; private colors; private progress; private message; private readonly table; setData(rows: RunRow[]): void; setProgress(progress: LoaderProgress | null): void; notify(message: string): void; helpLines(): string[]; handleKey(event: KeyEvent, viewport: Viewport): ExplorerAction; render(viewport: Viewport): Element; private title; private statusLine; private move; private cursorRow; private openCursorRow; /** The log viewer on the cursor row's one trace; a run with several * tests picks one through its tests table instead. */ private openCursorLog; private columns; } /** Drop whole columns (models, time, pass, then test) until the columns * fit the viewport; a flex column claims a little minimum room. */ export declare function dropToFit(all: TableColumn[], cols: number): TableColumn[];