import { DataPrimitiveFormatter } from '../Formatter'; import { DataPoint } from '../DataPoint'; import { DataType } from '../DataPrimitive'; import { DataSeries } from '../DataSeries'; import { DataFrame } from '../DataFrame'; /** * Formatter that prepends a DataFrame, DataSeries, or DataPoint to a pre-existing DataFrame or DataSeries with compatible types. * * If prepending a DataFrame to another DataFrame, the DataFrames must have the same number of DataSeries. * For example, a DataFrame with 3 series such as `[[1, 2], [3, 4], [5, 6]]` cannot be prepended to a DataFrame with 2 series such as `[[7, 8], [9, 10]]`. * * Only the same DataPrimitive type or a DataPrimitive's composite DataPrimitives * (e.g. DataSeries or DataPoint for DataFrame, or a DataPoint for a DataSeries) can be prepended to the pre-existing DataPrimitive. * * ```js * primary | seriesByName("users") | prepend(staticUser)', // returns ['All users', 'Maurine', 'Jennings'] * ids: '> primary | seriesByName("ids") | prepend(staticId)' // returns ['*', '1', '2', '3'] * pathologicalIds: '> primary | seriesByName("idsAsNumbers") | prepend(staticId)' // throws an error, since `staticId` is a string, while the pre-existing series is composed of numbers * }} * options={{ * consolidatedUsers: '> primary | seriesByName("users") | prepend(additionalUsers)', // returns ['Andrew', 'Chanelle', 'Maurine', 'Jennings'] * // returns { * // columns: [['Maurine', 'Jennings', 'Maurine', 'Jennings'], ['1', '2', '1', '2']] * // fields: [{ name: 'users' }, { name: 'ids' }] * // } * prependingFrames: '> primary | prepend(primary)' * }} * dataSources={{ * primary: { * data: { * columns: [['Maurine', 'Jennings'], ['1', '2']], * fields: [{ name: 'users' }, { name: 'ids' }] * } * } * }} * /> * ``` */ export declare class Prepend implements DataPrimitiveFormatter { private readonly prependMe; constructor(d: any); format(subject: DataPoint | DataSeries | DataFrame): DataPoint | DataSeries | DataFrame; prependToFrame(subject: DataFrame): DataFrame; private prependToSeries; private prependAPointToEachSeriesOfFrame; private prependASeriesToEachSeriesOfFrame; private prependFrameToFrame; private prependSeriesToSeries; private prependPointToSeries; }