import type { SlickGrid } from '../core/slickGrid.js'; import { type FilterMultiplePassType } from './../enums/index.js'; import type { CollectionFilterBy, CollectionSortBy, Column } from './../interfaces/index.js'; import type { TranslaterService } from './translater.service.js'; interface ParsingDateDetails { columnId: number | string; dateFormat: string; queryFieldName: string; } export declare class CollectionService { protected readonly translaterService?: TranslaterService | undefined; constructor(translaterService?: TranslaterService | undefined); /** * Filter 1 or more items from a collection * @param collection * @param filterByOptions */ filterCollection(collection: T[], filterByOptions: CollectionFilterBy | CollectionFilterBy[], filterResultBy?: FilterMultiplePassType | null): T[]; /** Pre-parse date items as `Date` object to improve Date Sort considerably */ preParseByMutationDateItems(items: any[], grid: SlickGrid, preParseDateColumns: boolean | string): void; parseSingleDateItem(item: any, grid: SlickGrid, preParseDateColumns: boolean | string): void; /** * Filter an item from a collection * @param collection * @param filterBy */ singleFilterCollection(collection: T[], filterBy: CollectionFilterBy): T[]; /** * Sort 1 or more items in a collection * @param column definition * @param collection * @param sortByOptions * @param enableTranslateLabel */ sortCollection(columnDef: Column, collection: T[], sortByOptions: CollectionSortBy | CollectionSortBy[], enableTranslateLabel?: boolean): T[]; protected getParseDateInfo(col: Column, preParseDateColumns: boolean | string): ParsingDateDetails | void; protected reassignDateWhenValid(item: any, columnId: number | string, dateFormat: string, queryFieldName: string): void; } export {}; //# sourceMappingURL=collection.service.d.ts.map