/**
* @license
* Copyright (c) 2019 The Polymer Project Authors. All rights reserved.
* This code may only be used under the BSD style license found at
* http://polymer.github.io/LICENSE.txt The complete set of authors may be found
* at http://polymer.github.io/AUTHORS.txt The complete set of contributors may
* be found at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by
* Google as part of the polymer project is also subject to an additional IP
* rights grant found at http://polymer.github.io/PATENTS.txt
*/
import * as table from 'table';
import { ResultStats } from './stats';
import { BenchmarkSpec } from './types';
export declare const spinner: string[];
/**
* An abstraction for the various dimensions of data we display.
*/
interface Dimension {
label: string;
format: (r: ResultStats) => string;
tableConfig?: table.TableColumns;
}
export interface ResultTable {
dimensions: Dimension[];
results: ResultStats[];
}
export interface AutomaticResults {
fixed: ResultTable;
unfixed: ResultTable;
}
/**
* Create an automatic mode result table.
*/
export declare function automaticResultTable(results: ResultStats[]): AutomaticResults;
/**
* Format a terminal text result table where each result is a row:
*
* +--------+--------+
* | Header | Header |
* +--------+--------+
* | Value | Value |
* +--------+--------+
* | Value | Value |
* +--------+--------+
*/
export declare function verticalTermResultTable({ dimensions, results }: ResultTable): string;
/**
* Format a terminal text result table where each result is a column:
*
* +--------+-------+-------+
* | Header | Value | Value |
* +--------+-------+-------+
* | Header | Value | Value |
* +--------+-------+-------+
*/
export declare function horizontalTermResultTable({ dimensions, results }: ResultTable): string;
/**
* Format an HTML result table where each result is a row:
*
*
* Header | Header |
* Value | Value |
* Value | Value |
*
*/
export declare function verticalHtmlResultTable({ dimensions, results }: ResultTable): string;
/**
* Format an HTML result table where each result is a column:
*
*
* Header | Value | Value |
* Header | Value | Value |
*
*/
export declare function horizontalHtmlResultTable({ dimensions, results }: ResultTable): string;
/**
* A one-line summary of a benchmark, e.g. for a progress bar:
*
* chrome my-benchmark [@my-version]
*/
export declare function benchmarkOneLiner(spec: BenchmarkSpec): string;
export {};