import { Alignment, Style } from "@monstermann/tables"; import { Task, TaskResultCompleted } from "tinybench"; //#region src/types.d.ts type TaskWithResult = Task & { result: TaskResultCompleted; }; type CountMethod = "none" | "shortest" | "highest" | "lowest" | "mean" | "thousands" | "millions" | "billions"; type DurationMethod = "shortest" | "highest" | "lowest" | "mean" | "nanoseconds" | "microseconds" | "milliseconds" | "seconds"; type SummaryMethod = "x" | "%"; type SortMethod = false | "asc" | "desc" | ((tasks: TaskWithResult[]) => TaskWithResult[]); type DefaultColumn = "name" | "summary" | "ops" | "time" | "margin" | "samples"; type ColumnContext = { fastestTask: TaskWithResult; locales: Intl.LocalesArgument; slowestTask: TaskWithResult; task: TaskWithResult; tasks: TaskWithResult[]; formatCount: (method: CountMethod, value: number, values: number[]) => string; formatDuration: (method: DurationMethod, value: number, values: number[]) => string; formatNumber: (value: number) => string; }; type ColumnOptions = { header: string; headerAlignment: Alignment; headerStyle: Style[]; rowAlignment: Alignment; rowStyle: Style[]; }; type Column = ColumnOptions & { content: (ctx: ColumnContext) => string; }; type Columns = Record; type NameOptions = Partial; type SummaryOptions = Partial; type OpsOptions = Partial; type TimeOptions = Partial; type MarginOptions = Partial; type SamplesOptions = Partial; //#endregion export { Column, ColumnContext, ColumnOptions, Columns, CountMethod, DefaultColumn, DurationMethod, MarginOptions, NameOptions, OpsOptions, SamplesOptions, SortMethod, SummaryMethod, SummaryOptions, TaskWithResult, TimeOptions };