import { Chart, FnFilter, Vars } from '../../../admin/src/models/Chart'; export declare class ChartService { private filePath; constructor(filePath?: string); configure(filePath: string): this; /** * Read the JSON file asynchronously. * @returns {Promise} - The parsed charts array. */ private read; /** * Write to the JSON file asynchronously. * @param {Chart[]} charts - The charts array to save. * @returns {Promise} */ private write; /** * Add a new chart. * @param {Chart} newChart - The chart to add. * @returns {Promise} */ create(newChart: Chart): Promise; /** * Add multiple new charts. * @param {Chart[]} newCharts - The charts to add. * @returns {Promise} */ bulkCreate(newCharts: Chart[]): Promise; /** * Select charts based on a filter. * @param {FnFilter | null} [filterFn=null] - The filter function or null to return all charts. * @returns {Promise} - The filtered charts or all charts if no filter is provided. */ select(filterFn?: FnFilter | null): Promise; /** * Find a single chart based on a filter. * @param {FnFilter | null} [filterFn=null] - The filter function or null to find the first chart. * @returns {Promise} - The found chart or null if not found. */ findOne(filterFn?: FnFilter | null): Promise; /** * Update charts based on a filter. * @param {FnFilter | null} [filterFn=null] - The filter function to find charts to update. * @param {Partial} data - The updated properties. * @returns {Promise} */ update(filterFn: FnFilter | null, data: Partial): Promise; /** * Update multiple charts with specific filters. * @param {Array<{ FnFilter: FnFilter; updates: Partial }>} updatesArray - The updates to apply. * @returns {Promise} */ bulkUpdate(updatesArray: { filterFn: FnFilter; updates: Partial; }[]): Promise; /** * Remove charts based on a filter. * @param {FnFilter | null} [filterFn=null] - The filter function to identify charts to delete. * @returns {Promise} */ remove(filterFn?: FnFilter | string | number | null): Promise; /** * Remove multiple charts based on specific filters. * @param {Array} filters - The filters to identify charts to delete. * @returns {Promise} */ bulkRemove(filters: FnFilter[]): Promise; getDefaults(data: Vars[]): {}; } declare const _default: ChartService; export default _default;