import { ChartSelection, FilterSelection } from './model/private/FilterSelection'; import { GcpFilterModifiers } from './model/public/gcp-filter-options'; import { ChartOptions, FilterOptions, GroupingOptions, Period, PeriodOptions } from './model/public/modifier-options'; import { KeyValue } from '../common/KeyValue'; import { Observable } from 'rxjs'; /** * Creating an array of {@link FilterSelection} based on the filter options and data from the source object. * * @param source The data source * @param filterOptions Filter modifier configuration * @returns The created array of {@link FilterSelection} */ export declare function mapObjectToFilterSelection(source: T, filterOptions: FilterOptions): Array; /** * Async version of mapObjectToFilterSelection that loads missing items by ID for tabs * that have the loadItemsByIds callback configured. * * @param source The data source * @param filterOptions Filter modifier configuration * @returns Observable of the created array of FilterSelection */ export declare function mapObjectToFilterSelectionAsync(source: T, filterOptions: FilterOptions): Observable>; /** * Creating an Array of {@link KeyValue} aka. "Grouping selection" * based on the source object and the grouping modifier configuration. * * @param source The data source * @param groupingOptions Grouping modifier configuration * @returns The created Array of {@link KeyValue} */ export declare function mapObjectToGroupingSelection(source: T, groupingOptions: GroupingOptions): Array; /** * Creates a {@link Period} based on the source object and the period modifier configuration. * * @param source The data source * @param periodOptions Period modifier configuration * @returns The created {@link Period} */ export declare function mapObjectToPeriod(source: T, periodOptions: PeriodOptions): Period; /** * Creates a {@link ChartSelection} based on the source object and the chart modifier configuration. * * @param source The data source * @param chartOptions Chart modifier configuration * @returns The created {@link ChartSelection} */ export declare function mapObjectToChartSelection(source: T, chartOptions: ChartOptions): ChartSelection; /** * Maps {@link FilterSelection} data to the target object. * * @param target The object to which the data will be mapped * @param filterSelection The data source * @returns The updated object */ export declare function mapFilterToObject(target: T, filterSelection: Array): T; /** * Maps Array of {@link KeyValue} aka. "Grouping selection" to the target object. * * @param target The object to which the data will be mapped * @param id The property name in the target object to where the data will be mapped to * @param groupingSelections The source data * @returns The updated object */ export declare function mapGroupingToObject(target: T, id: string, groupingSelections: Array): T; /** * Maps the given {@link Period} to the target object. * * @param target The object to which the data will be mapped * @param id The property name in the target object to where the data will be mapped to * @param period The data source * @returns The updated object */ export declare function mapPeriodToObject(target: T, id: string, period: Period): T; /** * Maps {@link ChartSelection} data to target object. * * @param target The object to which the data will be mapped * @param chartSelection The data source * @returns The updated object */ export declare function mapChartToObject(target: T, chartSelection: ChartSelection): T; export declare function getOutputObjectWithoutID(outputObject: any): any; export declare function validateMappings(outputObject: any, gcpFilterModifiers: GcpFilterModifiers): void; /** * Returns a deep copy of the passed object. * * @param obj T * @returns T */ export declare function copyObject(obj: T): T;