///
import { Column, Columns, DefaultColumn, MarginOptions, NameOptions, OpsOptions, SamplesOptions, SortMethod, SummaryOptions, TimeOptions } from "./types.mjs";
import * as _monstermann_tables0 from "@monstermann/tables";
import { Borders, CreateCliTableConfig, Style } from "@monstermann/tables";
import { Bench } from "tinybench";
//#region src/tinybenchPrinter.d.ts
interface TinybenchPrinter {
borders: (borders: Borders) => TinybenchPrinter;
borderStyle: (style: Style[]) => TinybenchPrinter;
column: (name: U, column: Column) => TinybenchPrinter;
locales: (locales: Intl.LocalesArgument) => TinybenchPrinter;
margin: (options: MarginOptions) => TinybenchPrinter;
maxWidth: (maxWidth: number) => TinybenchPrinter;
name: (options: NameOptions) => TinybenchPrinter;
ops: (options: OpsOptions) => TinybenchPrinter;
order: (order: T[]) => TinybenchPrinter;
padding: (padding: number) => TinybenchPrinter;
prepareTableConfig: (bench: Bench) => CreateCliTableConfig;
samples: (options: SamplesOptions) => TinybenchPrinter;
sort: (method: SortMethod) => TinybenchPrinter;
stdout: (stdout: NodeJS.WriteStream) => TinybenchPrinter;
summary: (options: SummaryOptions) => TinybenchPrinter;
time: (options: TimeOptions) => TinybenchPrinter;
toCli: (bench: Bench) => string;
toMarkdown: (bench: Bench) => string;
useBottomBorder: (use: boolean) => TinybenchPrinter;
useDividerBorder: (use: boolean) => TinybenchPrinter;
useHeader: (use: boolean) => TinybenchPrinter;
useHeaderSeparator: (use: boolean) => TinybenchPrinter;
useLeftBorder: (use: boolean) => TinybenchPrinter;
useRightBorder: (use: boolean) => TinybenchPrinter;
useRowSeparator: (use: boolean) => TinybenchPrinter;
useTopBorder: (use: boolean) => TinybenchPrinter;
}
type Config = {
borders?: Borders;
borderStyle?: Style[];
columns: Columns;
locales?: Intl.LocalesArgument;
maxWidth?: number;
order: string[];
padding?: number;
sort?: SortMethod;
stdout?: NodeJS.WriteStream;
useBottomBorder?: boolean;
useDividerBorder?: boolean;
useHeader?: boolean;
useHeaderSeparator?: boolean;
useLeftBorder?: boolean;
useRightBorder?: boolean;
useRowSeparator?: boolean;
useTopBorder?: boolean;
};
declare class TinybenchPrinterImpl {
config: Config;
constructor(config: Config);
borders(borders: Borders): TinybenchPrinterImpl;
borderStyle(borderStyle: Style[]): TinybenchPrinterImpl;
column(name: string, column: Column): TinybenchPrinterImpl;
locales(locales: Intl.LocalesArgument): TinybenchPrinterImpl;
margin(options: MarginOptions): TinybenchPrinterImpl;
maxWidth(maxWidth: number): TinybenchPrinterImpl;
merge(config: Partial): TinybenchPrinterImpl;
name(options: NameOptions): TinybenchPrinterImpl;
ops(options: OpsOptions): TinybenchPrinterImpl;
order(order: string[]): TinybenchPrinterImpl;
padding(padding: number): TinybenchPrinterImpl;
prepareTableConfig(bench: Bench): {
columnAlignments: Record;
columns: string[];
columnStyles: Record;
headerAlignments: Record;
headerStyles: Record;
headerTitles: Record;
rows: Record[];
borders?: Borders | undefined;
borderStyle?: ("bold" | "dim" | "italic" | "underline" | "inverse" | "hidden" | "strikethrough" | "black" | "red" | "green" | "yellow" | "blue" | "magenta" | "cyan" | "white" | "gray" | "bgBlack" | "bgRed" | "bgGreen" | "bgYellow" | "bgBlue" | "bgMagenta" | "bgCyan" | "bgWhite")[] | undefined;
maxWidth?: number | undefined;
padding?: number | undefined;
stdout?: NodeJS.WriteStream | undefined;
useBottomBorder?: boolean | undefined;
useDividerBorder?: boolean | undefined;
useHeader?: boolean | undefined;
useHeaderSeparator?: boolean | undefined;
useLeftBorder?: boolean | undefined;
useRightBorder?: boolean | undefined;
useRowSeparator?: boolean | undefined;
useTopBorder?: boolean | undefined;
} | undefined;
samples(options: SamplesOptions): TinybenchPrinterImpl;
sort(sort: SortMethod): TinybenchPrinterImpl;
stdout(stdout: NodeJS.WriteStream): TinybenchPrinterImpl;
summary(options: SummaryOptions): TinybenchPrinterImpl;
time(options: TimeOptions): TinybenchPrinterImpl;
toCli(bench: Bench): string;
toMarkdown(bench: Bench): string;
useBottomBorder(useBottomBorder: boolean): TinybenchPrinterImpl;
useDividerBorder(useDividerBorder: boolean): TinybenchPrinterImpl;
useHeader(useHeader: boolean): TinybenchPrinterImpl;
useHeaderSeparator(useHeaderSeparator: boolean): TinybenchPrinterImpl;
useLeftBorder(useLeftBorder: boolean): TinybenchPrinterImpl;
useRightBorder(useRightBorder: boolean): TinybenchPrinterImpl;
useRowSeparator(useRowSeparator: boolean): TinybenchPrinterImpl;
useTopBorder(useTopBorder: boolean): TinybenchPrinterImpl;
}
declare const tinybenchPrinter: TinybenchPrinter;
//#endregion
export { TinybenchPrinter, TinybenchPrinterImpl, tinybenchPrinter };