import { DataPrimitiveFormatter } from '../Formatter';
import { DataFrame } from '../DataFrame';
import { DataSeries } from '../DataSeries';
import { DataType } from '../DataPrimitive';
import { DataPoint } from '../DataPoint';
/**
 * This formatter returns a new DataFrame made by combining its arguments.
 *
 * Example: frame(series1, series2, frame1). It is also possible to pass
 * DataPoint as argument, in which case the DataPoint is wrapped in DataSeries.
 *
 * ```js
 * <SampleViz
 *     context={{
 *         users: '> primary | seriesByName("users")',
 *         ids: '> primary | seriesByName("ids")'
 *     }}
 *     options={{
 *         frameOption1: '> frame(users, ids)' // returns [['Maurine', 'Jennings', 'Giuseppe'], ['1', '2', '3']]
 *         frameOption2: '> frame(frameOption1, ids)' // returns [['Maurine', 'Jennings', 'Giuseppe'], ['1', '2', '3'], ['1', '2', '3']]
 *     }}
 *     dataSources={{
 *         primary: {
 *             data: {
 *                 columns: [['Maurine', 'Jennings', 'Giuseppe'], ['1', '2', '3']],
 *                 fields: [{ name: 'users' }, { name: 'ids' }]
 *             }
 *         }
 *     }}
 * />
 * ```
 */
export declare class Frame implements DataPrimitiveFormatter<DataType, DataType> {
    private args;
    constructor(...args: any[]);
    format(p: DataPoint): DataPoint;
    format(s: DataSeries): DataSeries;
    format(f: DataFrame): DataFrame;
}
